From c13ddc295928976d978b4b50ebe63871200c8cd2 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 7 Mar 2025 13:46:43 +0000 Subject: [PATCH 01/64] initial reduction --- .../pool-quantamm/IQuantAMMWeightedPool.sol | 21 +- .../contracts/QuantAMMWeightedPool.sol | 209 ++++-------------- .../contracts/QuantAMMWeightedPoolFactory.sol | 123 ++++++++++- pkg/pool-quantamm/hardhat.config.ts | 37 ++++ .../test/foundry/MultiBlockMEVFuzzer.t.sol | 2 +- .../foundry/QuantAMMWeightedPool2Token.t.sol | 12 +- .../foundry/QuantAMMWeightedPoolFactory.t.sol | 2 +- .../QuantAMMWeightedPoolGenericFuzzer.t.sol | 42 ++-- 8 files changed, 240 insertions(+), 208 deletions(-) diff --git a/pkg/interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol b/pkg/interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol index 486ef01c..7a09fc80 100644 --- a/pkg/interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol +++ b/pkg/interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol @@ -33,10 +33,10 @@ interface IQuantAMMWeightedPool { bool isPoolInitialized; bool isPoolPaused; bool isPoolInRecoveryMode; - int256[] weightsAtLastUpdateInterval; - int256[] weightBlockMultipliers; - uint40 lastUpdateIntervalTime; - uint40 lastInterpolationTimePossible; + int256[] firstFourWeightsAndMultipliers; + int256[] secondFourWeightsAndMultipliers; + uint40 lastUpdateTime; + uint40 lastInteropTime; } /** @@ -64,11 +64,11 @@ interface IQuantAMMWeightedPool { } ///@notice the time variables used for interpolation - ///@param lastUpdateIntervalTime the last time the pool was updated, this is the time of the weights prior to multiplier being added to it.abi + ///@param lastUpdateTime the last time the pool was updated, this is the time of the weights prior to multiplier being added to it.abi ///@param lastPossibleInterpolationTime the last time that the weights can be updated given the block multiplier before one weight hits the guardrail - struct QuantAMMBaseInterpolationVariables { - uint40 lastUpdateIntervalTime; - uint40 lastPossibleInterpolationTime; + struct InteropDetails { + uint40 lastUpdateTime; + uint40 lastInteropTime; } ///@notice the data needed to get the weights of the pool @@ -76,12 +76,11 @@ interface IQuantAMMWeightedPool { ///@param assets the assets of the pool ///@notice the data needed to get the weights of the pool - ///@param quantAMMBaseInterpolationDetails the time variables used for interpolation + ///@param interopDetails the time variables used for interpolation ///@param assets the assets of the pool ///@dev this would be more populated for v2 of the pool but the structure is kept for other areas struct QuantAMMBaseGetWeightData { - QuantAMMBaseInterpolationVariables quantAMMBaseInterpolationDetails; - address[] assets; + InteropDetails interopDetails; } /// @notice Settings needed to create and initialise a pool diff --git a/pkg/pool-quantamm/contracts/QuantAMMWeightedPool.sol b/pkg/pool-quantamm/contracts/QuantAMMWeightedPool.sol index d33be994..db03efae 100644 --- a/pkg/pool-quantamm/contracts/QuantAMMWeightedPool.sol +++ b/pkg/pool-quantamm/contracts/QuantAMMWeightedPool.sol @@ -26,7 +26,6 @@ import { BalancerPoolToken } from "@balancer-labs/v3-vault/contracts/BalancerPoo import { PoolInfo } from "@balancer-labs/v3-pool-utils/contracts/PoolInfo.sol"; import { FixedPoint } from "@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol"; import { WeightedMath } from "@balancer-labs/v3-solidity-utils/contracts/math/WeightedMath.sol"; -import { InputHelpers } from "@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol"; import { Version } from "@balancer-labs/v3-solidity-utils/contracts/helpers/Version.sol"; //CODEHAWKS INFO /s/703 remove dupe import import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -139,11 +138,6 @@ contract QuantAMMWeightedPool is address creatorAddress ); - /// @dev Indicates that one of the pool tokens' weight is below the minimum allowed. - error MinWeight(); - - /// @dev Indicates that the sum of the pool tokens' weights is not FP 1. - error NormalizedWeightInvariant(); /// @dev Indicates that the maximum allowed trade size has been exceeded. error maxTradeSizeRatioExceeded(); @@ -184,9 +178,6 @@ contract QuantAMMWeightedPool is ///@dev the admin functionality enabled for this pool. uint256 public immutable poolRegistry; - ///@dev The assets of the pool. If the pool is a composite pool, contains the LP tokens of those pools - IERC20[] public assets; - constructor( NewPoolParams memory params, IVault vault @@ -196,30 +187,7 @@ contract QuantAMMWeightedPool is quantammAdmin = updateWeightRunner.quantammAdmin(); deploymentTime = block.timestamp; - //from update weight runner - uint256 MASK_POOL_PERFORM_UPDATE = 1; - uint256 MASK_POOL_GET_DATA = 2; - uint256 MASK_POOL_OWNER_UPDATES = 8; - uint256 MASK_POOL_QUANTAMM_ADMIN_UPDATES = 16; - uint256 MASK_POOL_RULE_DIRECT_SET_WEIGHT = 32; - - //CODEHAWKS INFO /s/314 - require( - (params.poolRegistry & MASK_POOL_PERFORM_UPDATE > 0) || - (params.poolRegistry & MASK_POOL_GET_DATA > 0) || - (params.poolRegistry & MASK_POOL_OWNER_UPDATES > 0) || - (params.poolRegistry & MASK_POOL_QUANTAMM_ADMIN_UPDATES > 0) || - (params.poolRegistry & MASK_POOL_RULE_DIRECT_SET_WEIGHT > 0), - "Invalid pool registry" - ); - poolRegistry = params.poolRegistry; - - require(params.poolDetails.length <= 50, "Limit exceeds array length"); - for(uint i; i < params.poolDetails.length; i++){ - require(params.poolDetails[i].length == 4, "detail needs all 4 [category, name, type, detail]"); - } - poolDetails = params.poolDetails; } @@ -231,17 +199,17 @@ contract QuantAMMWeightedPool is ) external view returns (uint256 newBalance) { uint40 multiplierTime = uint40(block.timestamp); //CODEHAWKS INFO /s/234 - QuantAMMBaseInterpolationVariables memory variables = poolSettings.quantAMMBaseInterpolationDetails; + InteropDetails memory variables = poolSettings.interopDetails; - if (block.timestamp >= variables.lastPossibleInterpolationTime) { + if (block.timestamp >= variables.lastInteropTime) { //we have gone beyond the first variable hitting the guard rail. We cannot interpolate any further and an update is needed - multiplierTime = variables.lastPossibleInterpolationTime; + multiplierTime = variables.lastInteropTime; } //CODEHAWKS INFO /s/4 //Lifted outside of unchecked in case of race condition of combined bad user setting last update in the future and chain downtime uint256 timeSinceLastUpdate = uint256( - multiplierTime - variables.lastUpdateIntervalTime + multiplierTime - variables.lastUpdateTime ); unchecked { @@ -264,7 +232,7 @@ contract QuantAMMWeightedPool is } } - return ("error", "detail not found"); + return ("", ""); } /// @inheritdoc IBasePool @@ -284,19 +252,19 @@ contract QuantAMMWeightedPool is /// @inheritdoc IBasePool function onSwap(PoolSwapParams memory request) public view onlyVault returns (uint256) { - QuantAMMBaseInterpolationVariables memory variables = poolSettings.quantAMMBaseInterpolationDetails; + InteropDetails memory variables = poolSettings.interopDetails; uint256 tokenInWeight; uint256 tokenOutWeight; uint256 totalTokens = _totalTokens; uint40 multiplierTime = uint40(block.timestamp); - if (block.timestamp >= variables.lastPossibleInterpolationTime) { + if (block.timestamp >= variables.lastInteropTime) { //we have gone beyond the first variable hitting the guard rail. We cannot interpolate any further and an update is needed - multiplierTime = variables.lastPossibleInterpolationTime; + multiplierTime = variables.lastInteropTime; } - uint256 timeSinceLastUpdate = uint256(multiplierTime - variables.lastUpdateIntervalTime); + uint256 timeSinceLastUpdate = uint256(multiplierTime - variables.lastUpdateTime); // if both tokens are within the first storage elem if ((request.indexIn < 4 && request.indexOut < 4) || (request.indexIn >= 4 && request.indexOut >= 4)) { @@ -468,7 +436,7 @@ contract QuantAMMWeightedPool is uint256[] memory normalizedWeights = new uint256[](totalTokens); uint40 multiplierTime = uint40(block.timestamp); - uint40 lastInterpolationTime = poolSettings.quantAMMBaseInterpolationDetails.lastPossibleInterpolationTime; + uint40 lastInterpolationTime = poolSettings.interopDetails.lastInteropTime; if (block.timestamp >= lastInterpolationTime) { //we have gone beyond the first variable hitting the guard rail. We cannot interpolate any further and an update is needed @@ -477,7 +445,7 @@ contract QuantAMMWeightedPool is unchecked { uint256 timeSinceLastUpdate = uint256( - multiplierTime - poolSettings.quantAMMBaseInterpolationDetails.lastUpdateIntervalTime + multiplierTime - poolSettings.interopDetails.lastUpdateTime ); int256[] memory firstFourWeights = quantAMMUnpack32(_normalizedFirstFourWeights); @@ -617,27 +585,13 @@ contract QuantAMMWeightedPool is data.isPoolPaused = poolConfig.isPoolPaused; data.isPoolInRecoveryMode = poolConfig.isPoolInRecoveryMode; - uint256 tokenCount = _totalTokens; - data.weightsAtLastUpdateInterval = new int256[](tokenCount); - data.weightBlockMultipliers = new int256[](tokenCount); - int256[] memory firstFourWeights = quantAMMUnpack32(_normalizedFirstFourWeights); - int256[] memory secondFourWeights = quantAMMUnpack32(_normalizedSecondFourWeights); - - uint firstTokenOffset = tokenCount < 4 ? tokenCount : 4; - uint256 moreThan4Tokens = tokenCount < 4 ? 0 : tokenCount - 4; - for (uint i; i < tokenCount; i++) { - if (i < 4) { - data.weightsAtLastUpdateInterval[i] = firstFourWeights[i]; - data.weightBlockMultipliers[i] = firstFourWeights[i + firstTokenOffset]; - } else { - data.weightsAtLastUpdateInterval[i] = secondFourWeights[i - 4]; - data.weightBlockMultipliers[i] = secondFourWeights[i - 4 + moreThan4Tokens]; - } - } + data.firstFourWeightsAndMultipliers = quantAMMUnpack32(_normalizedFirstFourWeights); + data.secondFourWeightsAndMultipliers = quantAMMUnpack32(_normalizedSecondFourWeights); + //just a get but still more efficient to do it here - QuantAMMBaseInterpolationVariables memory interpolationDetails = poolSettings.quantAMMBaseInterpolationDetails; - data.lastUpdateIntervalTime = interpolationDetails.lastUpdateIntervalTime; - data.lastInterpolationTimePossible = interpolationDetails.lastPossibleInterpolationTime; + InteropDetails memory interpolationDetails = poolSettings.interopDetails; + data.lastUpdateTime = interpolationDetails.lastUpdateTime; + data.lastInteropTime = interpolationDetails.lastInteropTime; } /// @inheritdoc IQuantAMMWeightedPool @@ -663,15 +617,15 @@ contract QuantAMMWeightedPool is /// @notice the main function to update target weights and multipliers from the update weight runner /// @param _weights the target weights and their block multipliers - /// @param _poolAddress the target pool address - /// @param _lastInterpolationTimePossible the last time the weights can be interpolated + /// @param _address the target pool address + /// @param _lastInteropTime the last time the weights can be interpolated function setWeights( int256[] calldata _weights, - address _poolAddress, - uint40 _lastInterpolationTimePossible + address _address, + uint40 _lastInteropTime ) external override { - require(msg.sender == address(updateWeightRunner), "ONLYUPDW"); - require(_weights.length == _totalTokens * 2, "WLDL"); //weight length different + require(msg.sender == address(updateWeightRunner), "XUR"); + require(_weights.length == _totalTokens * 2, "WD"); //weight length different if (_weights.length > 8) { int256[][] memory splitWeights = _splitWeightAndMultipliers(_weights); @@ -682,31 +636,22 @@ contract QuantAMMWeightedPool is } //struct allows one SSTORE - poolSettings.quantAMMBaseInterpolationDetails = QuantAMMBaseInterpolationVariables({ - lastPossibleInterpolationTime: _lastInterpolationTimePossible, - lastUpdateIntervalTime: uint40(block.timestamp) + poolSettings.interopDetails = InteropDetails({ + lastInteropTime: _lastInteropTime, + lastUpdateTime: uint40(block.timestamp) }); - emit WeightsUpdated(_poolAddress, _weights, _lastInterpolationTimePossible, uint40(block.timestamp)); + emit WeightsUpdated(_address, _weights, _lastInteropTime, uint40(block.timestamp)); } /// @notice the initialising function during registration of the pool with the vault to set the initial weights /// @param _weights the target weights function _setInitialWeights(int256[] memory _weights) internal { require(_normalizedFirstFourWeights == 0, "init"); - require(_normalizedSecondFourWeights == 0, "init"); - - InputHelpers.ensureInputLengthMatch(_totalTokens, _weights.length); - int256 normalizedSum; int256[] memory _weightsAndBlockMultiplier = new int256[](_weights.length * 2); for (uint i; i < _weights.length; ) { - if (_weights[i] < int256(uint256(absoluteWeightGuardRail))) { - revert MinWeight(); - } - _weightsAndBlockMultiplier[i] = _weights[i]; - normalizedSum += _weights[i]; //Initially register pool with no movement, first update will come and set block multiplier. _weightsAndBlockMultiplier[i + _weights.length] = int256(0); unchecked { @@ -714,11 +659,6 @@ contract QuantAMMWeightedPool is } } - // Ensure that the normalized weights sum to ONE - if (uint256(normalizedSum) != FixedPoint.ONE) { - revert NormalizedWeightInvariant(); - } - if (_weightsAndBlockMultiplier.length > 8) { int256[][] memory splitWeights = _splitWeightAndMultipliers(_weightsAndBlockMultiplier); _normalizedFirstFourWeights = quantAMMPack32Array(splitWeights[0])[0]; @@ -728,9 +668,9 @@ contract QuantAMMWeightedPool is } //struct allows one SSTORE - poolSettings.quantAMMBaseInterpolationDetails = QuantAMMBaseInterpolationVariables({ - lastPossibleInterpolationTime: uint40(block.timestamp), //given muliplier is 0 on start - lastUpdateIntervalTime: uint40(block.timestamp) + poolSettings.interopDetails = InteropDetails({ + lastInteropTime: uint40(block.timestamp), //given muliplier is 0 on start + lastUpdateTime: uint40(block.timestamp) }); //CODEHAWKS L-05 emit weights and multiplier @@ -738,43 +678,27 @@ contract QuantAMMWeightedPool is } /// @notice Initialize the pool - /// @param initialiseParams parameters defined by the factory + /// @param params parameters defined by the factory function initialize( - QuantAMMWeightedPoolFactory.CreationNewPoolParams memory initialiseParams - ) public initializer { - //CODEHAWKS INFO /s/696 - require(initialiseParams._poolSettings.assets.length > 0 - && initialiseParams._poolSettings.assets.length == initialiseParams._initialWeights.length - && initialiseParams._initialWeights.length == _totalTokens, "INVASSWEIG"); //Invalid assets / weights array - - assets = initialiseParams._poolSettings.assets; - poolSettings.assets = new address[](initialiseParams._poolSettings.assets.length); - for (uint i; i < initialiseParams._poolSettings.assets.length; ) { - poolSettings.assets[i] = address(initialiseParams._poolSettings.assets[i]); - unchecked { - ++i; - } - } - //CODEHAWKS INFO /s/157 - require(initialiseParams._oracleStalenessThreshold > 0, "INVORCSTAL"); //Invalid oracle staleness threshold - - oracleStalenessThreshold = initialiseParams._oracleStalenessThreshold; - updateInterval = initialiseParams._poolSettings.updateInterval; - _setRule(initialiseParams); + QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params + ) public initializer { + oracleStalenessThreshold = params._oracleStalenessThreshold; + updateInterval = params._poolSettings.updateInterval; + _setRule(params); - _setInitialWeights(initialiseParams._initialWeights); + _setInitialWeights(params._initialWeights); //CODEHAWKS L-09 emit during creation rather than setruleforpool with creator address also // emit event for easier tracking of rule changes emit PoolRuleSet( - address(initialiseParams._poolSettings.rule), - initialiseParams._poolSettings.oracles, - initialiseParams._poolSettings.lambda, - initialiseParams._poolSettings.ruleParameters, - initialiseParams._poolSettings.epsilonMax, - initialiseParams._poolSettings.absoluteWeightGuardRail, - initialiseParams._poolSettings.updateInterval, - initialiseParams._poolSettings.poolManager, + address(params._poolSettings.rule), + params._poolSettings.oracles, + params._poolSettings.lambda, + params._poolSettings.ruleParameters, + params._poolSettings.epsilonMax, + params._poolSettings.absoluteWeightGuardRail, + params._poolSettings.updateInterval, + params._poolSettings.poolManager, msg.sender //this should be the factory and only factory sent creations should be listened to. ); } @@ -816,41 +740,6 @@ contract QuantAMMWeightedPool is function _setRule( QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params ) internal { - require(address(params._poolSettings.rule) != address(0), "Invalid rule"); - - for (uint i; i < params._poolSettings.lambda.length; ++i) { - int256 currentLambda = int256(uint256(params._poolSettings.lambda[i])); - require(currentLambda > PRBMathSD59x18.fromInt(0) && currentLambda < PRBMathSD59x18.fromInt(1), "INVLAM"); //Invalid lambda value - } - - require( - params._poolSettings.lambda.length == 1 || params._poolSettings.lambda.length == params._initialWeights.length, - "Either scalar or vector" - ); - int256 currentEpsilonMax = int256(uint256(params._poolSettings.epsilonMax)); - require( - currentEpsilonMax > PRBMathSD59x18.fromInt(0) && currentEpsilonMax <= PRBMathSD59x18.fromInt(1), - "INV_EPMX" - ); //Invalid epsilonMax value - - //applied both as a max (1 - x) and a min, so it cant be more than 0.49 or less than 0.01 - //all pool logic assumes that absolute guard rail is already stored as an 18dp int256 - require( - int256(uint256(params._poolSettings.absoluteWeightGuardRail)) < - PRBMathSD59x18.fromInt(1) / int256(uint256((params._initialWeights.length))) && - int256(uint256(params._poolSettings.absoluteWeightGuardRail)) >= 0.01e18, - "INV_ABSWGT" - ); //Invalid absoluteWeightGuardRail value - - require(params._poolSettings.oracles.length > 0, "NOPROVORC"); //No oracle indices provided" - - //CODEHAWKS INFO /s/154 - require(params._poolSettings.oracles.length == params._initialWeights.length, "OLNWEIG"); //Oracle length not equal to weights length - require(params._poolSettings.rule.validParameters(params._poolSettings.ruleParameters), "INVRLEPRM"); //Invalid rule parameters - - //0 is hodl, 1 is trade whole pool which invariant doesnt let you do anyway - require(params._poolSettings.maxTradeSizeRatio > 0 && params._poolSettings.maxTradeSizeRatio <= 0.3e18, "INVMAXTRADE"); //Invalid max trade size - lambda = params._poolSettings.lambda; epsilonMax = params._poolSettings.epsilonMax; absoluteWeightGuardRail = params._poolSettings.absoluteWeightGuardRail; @@ -875,18 +764,14 @@ contract QuantAMMWeightedPool is /// @inheritdoc IQuantAMMWeightedPool function setUpdateWeightRunnerAddress(address _updateWeightRunner) external override { - require(msg.sender == quantammAdmin, "ONLYADMIN"); + require(msg.sender == quantammAdmin, "XAD"); require( block.timestamp - deploymentTime < _FIX_WINDOW, - "Cannot change update weight runner after 3 years of deployment" + "XIM" ); address oldAddress = address(updateWeightRunner); - //CODEHAWKS INFO /s/20 - require(_updateWeightRunner != address(0), "INVADDRESS"); - //CODEHAWKS INFO /s/21 - require(_updateWeightRunner != address(updateWeightRunner), "SAMEADDRESS"); updateWeightRunner = UpdateWeightRunner(_updateWeightRunner); //CODEHAWKS L-04 diff --git a/pkg/pool-quantamm/contracts/QuantAMMWeightedPoolFactory.sol b/pkg/pool-quantamm/contracts/QuantAMMWeightedPoolFactory.sol index e2405332..20cbae00 100644 --- a/pkg/pool-quantamm/contracts/QuantAMMWeightedPoolFactory.sol +++ b/pkg/pool-quantamm/contracts/QuantAMMWeightedPoolFactory.sol @@ -17,6 +17,11 @@ import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/po import { QuantAMMWeightedPool } from "./QuantAMMWeightedPool.sol"; import { IHooks } from "@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol"; +import { InputHelpers } from "@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol"; +import { FixedPoint } from "@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol"; + +import "@prb/math/contracts/PRBMathSD59x18.sol"; + /** * @param name The name of the pool * @param symbol The symbol of the pool @@ -38,6 +43,12 @@ import { IHooks } from "@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol" contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { // solhint-disable not-rely-on-time + /// @dev Indicates that the sum of the pool tokens' weights is not FP 1. + error NormalizedWeightInvariant(); + + /// @dev Indicates that one of the pool tokens' weight is below the minimum allowed. + error MinWeight(); + /// @notice Unsafe or bad configuration for routers and liquidity management error ImcompatibleRouterConfiguration(); @@ -86,6 +97,107 @@ contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { return _poolVersion; } + function _constructionChecks(CreationNewPoolParams memory params) internal pure { + //from update weight runner + uint256 MASK_POOL_PERFORM_UPDATE = 1; + uint256 MASK_POOL_GET_DATA = 2; + uint256 MASK_POOL_OWNER_UPDATES = 8; + uint256 MASK_POOL_QUANTAMM_ADMIN_UPDATES = 16; + uint256 MASK_POOL_RULE_DIRECT_SET_WEIGHT = 32; + + //CODEHAWKS INFO /s/314 + require( + (params.poolRegistry & MASK_POOL_PERFORM_UPDATE > 0) || + (params.poolRegistry & MASK_POOL_GET_DATA > 0) || + (params.poolRegistry & MASK_POOL_OWNER_UPDATES > 0) || + (params.poolRegistry & MASK_POOL_QUANTAMM_ADMIN_UPDATES > 0) || + (params.poolRegistry & MASK_POOL_RULE_DIRECT_SET_WEIGHT > 0), + "Invalid pool registry" + ); + + require(params.poolDetails.length <= 50, "Limit exceeds array length"); + for(uint i; i < params.poolDetails.length; i++){ + require(params.poolDetails[i].length == 4, "detail needs all 4 [category, name, type, detail]"); + } + } + + function _initialisationCheck(CreationNewPoolParams memory params) internal view { + //checks copied from initialise + + //CODEHAWKS INFO /s/696 + require(params._poolSettings.assets.length > 0 + && params._poolSettings.assets.length == params._initialWeights.length + && params._initialWeights.length == params.normalizedWeights.length/*_totalTokens*/, "INVASSWEIG"); //Invalid assets / weights array + + //CODEHAWKS INFO /s/157 + require(params._oracleStalenessThreshold > 0, "INVORCSTAL"); //Invalid oracle staleness threshold + + + //checks coped from _setRule + + require(address(params._poolSettings.rule) != address(0), "Invalid rule"); + + for (uint i; i < params._poolSettings.lambda.length; ++i) { + int256 currentLambda = int256(uint256(params._poolSettings.lambda[i])); + require(currentLambda > PRBMathSD59x18.fromInt(0) && currentLambda < PRBMathSD59x18.fromInt(1), "INVLAM"); //Invalid lambda value + } + + require( + params._poolSettings.lambda.length == 1 || params._poolSettings.lambda.length == params._initialWeights.length, + "Either scalar or vector" + ); + int256 currentEpsilonMax = int256(uint256(params._poolSettings.epsilonMax)); + require( + currentEpsilonMax > PRBMathSD59x18.fromInt(0) && currentEpsilonMax <= PRBMathSD59x18.fromInt(1), + "INV_EPMX" + ); //Invalid epsilonMax value + + //applied both as a max (1 - x) and a min, so it cant be more than 0.49 or less than 0.01 + //all pool logic assumes that absolute guard rail is already stored as an 18dp int256 + require( + int256(uint256(params._poolSettings.absoluteWeightGuardRail)) < + PRBMathSD59x18.fromInt(1) / int256(uint256((params._initialWeights.length))) && + int256(uint256(params._poolSettings.absoluteWeightGuardRail)) >= 0.01e18, + "INV_ABSWGT" + ); //Invalid absoluteWeightGuardRail value + + require(params._poolSettings.oracles.length > 0, "NOPROVORC"); //No oracle indices provided" + + //CODEHAWKS INFO /s/154 + require(params._poolSettings.oracles.length == params._initialWeights.length, "OLNWEIG"); //Oracle length not equal to weights length + require(params._poolSettings.rule.validParameters(params._poolSettings.ruleParameters), "INVRLEPRM"); //Invalid rule parameters + + //0 is hodl, 1 is trade whole pool which invariant doesnt let you do anyway + require(params._poolSettings.maxTradeSizeRatio > 0 && params._poolSettings.maxTradeSizeRatio <= 0.3e18, "INVMAXTRADE"); //Invalid max trade size + + //checked copied from _setInitialWeights + + require(params.tokens.length > 1, "At least two tokens are required"); + + InputHelpers.ensureInputLengthMatch(params.normalizedWeights.length /*_totalTokens */, params._initialWeights.length); + int256 normalizedSum; + + int256[] memory _weightsAndBlockMultiplier = new int256[](params._initialWeights.length * 2); + for (uint i; i < params._initialWeights.length; ) { + if (params._initialWeights[i] < int256(uint256(params._poolSettings.absoluteWeightGuardRail))) { + revert MinWeight(); + } + + _weightsAndBlockMultiplier[i] = params._initialWeights[i]; + normalizedSum += params._initialWeights[i]; + //Initially register pool with no movement, first update will come and set block multiplier. + _weightsAndBlockMultiplier[i + params._initialWeights.length] = int256(0); + unchecked { + ++i; + } + } + + // Ensure that the normalized weights sum to ONE + if (uint256(normalizedSum) != FixedPoint.ONE) { + revert NormalizedWeightInvariant(); + } + } + function createWithoutArgs(CreationNewPoolParams memory params) external returns (address pool) { if (params.roleAccounts.poolCreator != address(0)) { revert StandardPoolWithCreator(); @@ -102,6 +214,8 @@ contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { liquidityManagement.disableUnbalancedLiquidity = params.disableUnbalancedLiquidity; require(params.tokens.length == params.normalizedWeights.length, "Token and weight counts must match"); + _constructionChecks(params); + pool = _create(abi.encode( QuantAMMWeightedPool.NewPoolParams({ name: params.name, @@ -116,6 +230,8 @@ contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { getVault() ), params.salt); + _initialisationCheck(params); + QuantAMMWeightedPool(pool).initialize(params); _registerPoolWithVault( @@ -142,7 +258,8 @@ contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { liquidityManagement.enableDonation = params.enableDonation; // disableUnbalancedLiquidity must be set to true if a hook has the flag enableHookAdjustedAmounts = true. liquidityManagement.disableUnbalancedLiquidity = params.disableUnbalancedLiquidity; - + + poolArgs = abi.encode( QuantAMMWeightedPool.NewPoolParams({ name: params.name, @@ -160,8 +277,12 @@ contract QuantAMMWeightedPoolFactory is IPoolVersion, BasePoolFactory, Version { //CODEHAWKS INFO /s/_586 /s/860 /s/962 require(params.tokens.length == params.normalizedWeights.length, "Token and weight counts must match"); + _constructionChecks(params); + pool = _create(poolArgs, params.salt); + _initialisationCheck(params); + QuantAMMWeightedPool(pool).initialize(params); _registerPoolWithVault( diff --git a/pkg/pool-quantamm/hardhat.config.ts b/pkg/pool-quantamm/hardhat.config.ts index f42e8cc7..3bf5aeda 100644 --- a/pkg/pool-quantamm/hardhat.config.ts +++ b/pkg/pool-quantamm/hardhat.config.ts @@ -7,6 +7,9 @@ import 'hardhat-gas-reporter'; import { hardhatBaseConfig } from '@balancer-labs/v3-common'; +const optimizerSteps = + 'dhfoDgvulfnTUtnIf [ xa[r]EscLM cCTUtTOntnfDIul Lcul Vcul [j] Tpeul xa[rul] xa[r]cL gvif CTUca[r]LSsTFOtfDnca[r]Iulc ] jmul[jul] VcTOcul jmul : fDnTOcmu'; + export default { networks: { hardhat: { @@ -15,6 +18,40 @@ export default { }, solidity: { compilers: hardhatBaseConfig.compilers, + overrides: { + 'contracts/QuantAMMWeightedPool.sol': { + version: '0.8.26', + settings: { + viaIR: true, + evmVersion: 'cancun', + optimizer: { + enabled: true, + runs: 500, + details: { + yulDetails: { + optimizerSteps, + }, + }, + }, + }, + }, + 'contracts/QuantAMMWeightedPoolFactory.sol': { + version: '0.8.26', + settings: { + viaIR: true, + evmVersion: 'cancun', + optimizer: { + enabled: true, + runs: 500, + details: { + yulDetails: { + optimizerSteps, + }, + }, + }, + }, + }, + }, }, warnings: hardhatBaseConfig.warnings, }; diff --git a/pkg/pool-quantamm/test/foundry/MultiBlockMEVFuzzer.t.sol b/pkg/pool-quantamm/test/foundry/MultiBlockMEVFuzzer.t.sol index 2fa2fd9f..f13f739b 100644 --- a/pkg/pool-quantamm/test/foundry/MultiBlockMEVFuzzer.t.sol +++ b/pkg/pool-quantamm/test/foundry/MultiBlockMEVFuzzer.t.sol @@ -655,7 +655,7 @@ contract MultiBlockMEVFuzzer is QuantAMMWeightedPoolContractsDeployer, BaseVault IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory poolData = IQuantAMMWeightedPool(ammPool) .getQuantAMMWeightedPoolDynamicData(); - assertEq(poolData.lastUpdateIntervalTime, timestamp, "Last update interval time mismatch"); + assertEq(poolData.lastUpdateTime, timestamp, "Last update interval time mismatch"); } function _handleAliceWithdrawal( diff --git a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol index 00d50587..64c35e5c 100644 --- a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol +++ b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol @@ -145,8 +145,8 @@ contract QuantAMMWeightedPool2TokenTest is QuantAMMWeightedPoolContractsDeployer (string memory retType, string memory name) = IQuantAMMWeightedPool(quantAMMWeightedPool).getPoolDetail("some category", "some name"); - assertEq(retType, "error"); - assertEq(name, "detail not found"); + assertEq(retType, ""); + assertEq(name, ""); } function testGetPoolDetailSuccess() public { @@ -181,8 +181,8 @@ contract QuantAMMWeightedPool2TokenTest is QuantAMMWeightedPoolContractsDeployer (string memory retType, string memory name) = IQuantAMMWeightedPool(quantAMMWeightedPool).getPoolDetail("some category", "some name"); - assertEq(retType, "error"); - assertEq(name, "detail not found"); + assertEq(retType, ""); + assertEq(name, ""); } @@ -237,8 +237,8 @@ contract QuantAMMWeightedPool2TokenTest is QuantAMMWeightedPoolContractsDeployer (string memory retType, string memory name) = IQuantAMMWeightedPool(quantAMMWeightedPool).getPoolDetail("some category", "some name"); - assertEq(retType, "error"); - assertEq(name, "detail not found"); + assertEq(retType, ""); + assertEq(name, ""); } function testSetWeightNBlocksAfter() public { diff --git a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolFactory.t.sol b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolFactory.t.sol index cf8a2e70..e76f0864 100644 --- a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolFactory.t.sol +++ b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolFactory.t.sol @@ -348,7 +348,7 @@ contract QuantAMMWeightedPoolFactoryTest is QuantAMMWeightedPoolContractsDeploye function testInvalidWeightSum() public { QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); params._initialWeights[0] = 0.6e18; - vm.expectRevert(QuantAMMWeightedPool.NormalizedWeightInvariant.selector); + vm.expectRevert(QuantAMMWeightedPoolFactory.NormalizedWeightInvariant.selector); quantAMMWeightedPoolFactory.create(params); } diff --git a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol index 82a849eb..8f33cb51 100644 --- a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol +++ b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol @@ -664,39 +664,29 @@ contract QuantAMMWeightedPoolGenericFuzzer is QuantAMMWeightedPoolContractsDeplo console.log("expected delay", expectedDelay); for (uint k = 0; k < params.numTokens; k++) { - if (k == variables.firstWeight.index) { - assertEq( - variables.dynamicData.weightsAtLastUpdateInterval[variables.firstWeight.index], - variables.firstWeight.weight - ); - assertEq( - variables.dynamicData.weightBlockMultipliers[variables.firstWeight.index], - variables.firstWeight.multiplier - ); - } else if (k == variables.secondWeight.index) { - assertEq( - variables.dynamicData.weightsAtLastUpdateInterval[variables.secondWeight.index], - variables.secondWeight.weight - ); - assertEq( - variables.dynamicData.weightBlockMultipliers[variables.secondWeight.index], - variables.secondWeight.multiplier - ); - } else { + int256[] memory targetWeightAndMultiplier = variables.dynamicData.firstFourWeightsAndMultipliers; + if (k >= 4) { + targetWeightAndMultiplier = variables.dynamicData.secondFourWeightsAndMultipliers; + } + TestParam memory expectedTestParam = k == variables.firstWeight.index + ? variables.firstWeight + : k == variables.secondWeight.index + ? variables.secondWeight + : variables.otherWeights; + assertEq( - variables.dynamicData.weightsAtLastUpdateInterval[k], - variables.otherWeights.weight + targetWeightAndMultiplier[k], + expectedTestParam.weight ); assertEq( - variables.dynamicData.weightBlockMultipliers[k], - variables.otherWeights.multiplier + targetWeightAndMultiplier[k + params.numTokens], + expectedTestParam.multiplier ); - } } - assertEq(variables.dynamicData.lastUpdateIntervalTime, uint40(timestamp)); + assertEq(variables.dynamicData.lastUpdateTime, uint40(timestamp)); assertEq( - variables.dynamicData.lastInterpolationTimePossible, + variables.dynamicData.lastInteropTime, uint40(timestamp + params.interpolationTime) ); } From 825b36c4d2f829ad2fc9919045b82092e5f4c29e Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 7 Mar 2025 15:54:11 +0000 Subject: [PATCH 02/64] fix tests --- .../foundry/QuantAMMWeightedPool2Token.t.sol | 19 +--------- .../QuantAMMWeightedPoolGenericFuzzer.t.sol | 37 +++++++++++++++---- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol index 64c35e5c..0325a22d 100644 --- a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol +++ b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPool2Token.t.sol @@ -202,27 +202,10 @@ contract QuantAMMWeightedPool2TokenTest is QuantAMMWeightedPoolContractsDeployer vm.stopPrank(); vm.startPrank(addr1); - vm.expectRevert("ONLYADMIN"); + vm.expectRevert(); QuantAMMWeightedPool(quantAMMWeightedPool).setUpdateWeightRunnerAddress(addr1); } - function test0AddressSetUpdateWeightRunnerAddress() public { - QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); - vm.startPrank(owner); - (address quantAMMWeightedPool, ) = quantAMMWeightedPoolFactory.create(params); - vm.expectRevert("INVADDRESS"); - QuantAMMWeightedPool(quantAMMWeightedPool).setUpdateWeightRunnerAddress(address(0)); - } - - function testSameAddressSetUpdateWeightRunnerAddress() public { - QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); - vm.startPrank(owner); - (address quantAMMWeightedPool, ) = quantAMMWeightedPoolFactory.create(params); - address current = address(QuantAMMWeightedPool(quantAMMWeightedPool).updateWeightRunner()); - vm.expectRevert("SAMEADDRESS"); - QuantAMMWeightedPool(quantAMMWeightedPool).setUpdateWeightRunnerAddress(current); - } - function testGetPoolDetailsNameNotFound() public { QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); params.poolDetails = new string[][](1); diff --git a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol index 8f33cb51..19e036b6 100644 --- a/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol +++ b/pkg/pool-quantamm/test/foundry/QuantAMMWeightedPoolGenericFuzzer.t.sol @@ -664,24 +664,45 @@ contract QuantAMMWeightedPoolGenericFuzzer is QuantAMMWeightedPoolContractsDeplo console.log("expected delay", expectedDelay); for (uint k = 0; k < params.numTokens; k++) { + console.log("k", k); + int256[] memory targetWeightAndMultiplier = variables.dynamicData.firstFourWeightsAndMultipliers; + if (k >= 4) { targetWeightAndMultiplier = variables.dynamicData.secondFourWeightsAndMultipliers; } + for(uint l = 0; l < targetWeightAndMultiplier.length; l++){ + console.log("l", l); + console.logString(string.concat("target weight and multiplier: ", vm.toString(targetWeightAndMultiplier[l]))); + } TestParam memory expectedTestParam = k == variables.firstWeight.index ? variables.firstWeight : k == variables.secondWeight.index ? variables.secondWeight : variables.otherWeights; + uint multiplierOffset = params.numTokens; + uint weightOffset = k; + if(params.numTokens > 4){ + if(k < 4){ + multiplierOffset = 4; + } + else{ + weightOffset = k - 4; + multiplierOffset = params.numTokens - 4; + } + } - assertEq( - targetWeightAndMultiplier[k], - expectedTestParam.weight - ); - assertEq( - targetWeightAndMultiplier[k + params.numTokens], - expectedTestParam.multiplier - ); + console.log("weight offset", weightOffset); + console.log("multiplier offset", multiplierOffset); + + assertEq( + targetWeightAndMultiplier[weightOffset], + expectedTestParam.weight + ); + assertEq( + targetWeightAndMultiplier[weightOffset + multiplierOffset], + expectedTestParam.multiplier + ); } assertEq(variables.dynamicData.lastUpdateTime, uint40(timestamp)); From a243a7cbfeac94e928e3b5f408950fb5a25df486 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 27 Feb 2025 14:27:54 +0000 Subject: [PATCH 03/64] cherry pick factory splitter from monorepo main 4df25be3bab3f1a0e8247d47dd5aaa3bc95788f2 --- pkg/pool-utils/contracts/BasePoolFactory.sol | 24 ++- .../helpers/BaseSplitCodeFactory.sol | 179 ++++++++++++++++++ .../contracts/helpers/CodeDeployer.sol | 128 +++++++++++++ .../contracts/test/CodeDeployerMock.sol | 13 ++ .../contracts/test/MockSplitCodeFactory.sol | 33 ++++ .../test/BaseSplitCodeFactory.test.ts | 149 +++++++++++++++ pkg/solidity-utils/test/CodeDeployer.test.ts | 90 +++++++++ 7 files changed, 603 insertions(+), 13 deletions(-) create mode 100644 pkg/solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol create mode 100644 pkg/solidity-utils/contracts/helpers/CodeDeployer.sol create mode 100644 pkg/solidity-utils/contracts/test/CodeDeployerMock.sol create mode 100644 pkg/solidity-utils/contracts/test/MockSplitCodeFactory.sol create mode 100644 pkg/solidity-utils/test/BaseSplitCodeFactory.test.ts create mode 100644 pkg/solidity-utils/test/CodeDeployer.test.ts diff --git a/pkg/pool-utils/contracts/BasePoolFactory.sol b/pkg/pool-utils/contracts/BasePoolFactory.sol index 53947ba7..9281584d 100644 --- a/pkg/pool-utils/contracts/BasePoolFactory.sol +++ b/pkg/pool-utils/contracts/BasePoolFactory.sol @@ -2,8 +2,6 @@ pragma solidity ^0.8.24; -import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; - import { IBasePoolFactory } from "@balancer-labs/v3-interfaces/contracts/vault/IBasePoolFactory.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; import { @@ -12,6 +10,7 @@ import { LiquidityManagement } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; +import { BaseSplitCodeFactory } from "@balancer-labs/v3-solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol"; import { FactoryWidePauseWindow } from "@balancer-labs/v3-solidity-utils/contracts/helpers/FactoryWidePauseWindow.sol"; import { SingletonAuthentication } from "@balancer-labs/v3-vault/contracts/SingletonAuthentication.sol"; @@ -45,15 +44,17 @@ import { SingletonAuthentication } from "@balancer-labs/v3-vault/contracts/Singl * Nevertheless, this is a factor to consider when launching new pools. To avoid any possibility of frontrunning, * the best practice would be to create (i.e., deploy and register) and initialize in the same transaction. */ -abstract contract BasePoolFactory is IBasePoolFactory, SingletonAuthentication, FactoryWidePauseWindow { +abstract contract BasePoolFactory is + IBasePoolFactory, + BaseSplitCodeFactory, + SingletonAuthentication, + FactoryWidePauseWindow +{ mapping(address pool => bool isFromFactory) private _isPoolFromFactory; address[] private _pools; bool private _disabled; - // Store the creationCode of the contract to be deployed by create2. - bytes private _creationCode; - /// @notice A pool creator was specified for a pool from a Balancer core pool type. error StandardPoolWithCreator(); @@ -61,8 +62,8 @@ abstract contract BasePoolFactory is IBasePoolFactory, SingletonAuthentication, IVault vault, uint32 pauseWindowDuration, bytes memory creationCode - ) SingletonAuthentication(vault) FactoryWidePauseWindow(pauseWindowDuration) { - _creationCode = creationCode; + ) BaseSplitCodeFactory(creationCode) SingletonAuthentication(vault) FactoryWidePauseWindow(pauseWindowDuration) { + // solhint-disable-previous-line no-empty-blocks } /// @inheritdoc IBasePoolFactory @@ -106,11 +107,9 @@ abstract contract BasePoolFactory is IBasePoolFactory, SingletonAuthentication, /// @inheritdoc IBasePoolFactory function getDeploymentAddress(bytes memory constructorArgs, bytes32 salt) public view returns (address) { - bytes memory creationCode = abi.encodePacked(_creationCode, constructorArgs); - bytes32 creationCodeHash = keccak256(creationCode); bytes32 finalSalt = _computeFinalSalt(salt); - return Create2.computeAddress(finalSalt, creationCodeHash); + return _getDeploymentAddress(constructorArgs, finalSalt); } /// @inheritdoc IBasePoolFactory @@ -147,9 +146,8 @@ abstract contract BasePoolFactory is IBasePoolFactory, SingletonAuthentication, } function _create(bytes memory constructorArgs, bytes32 salt) internal returns (address pool) { - bytes memory creationCode = abi.encodePacked(_creationCode, constructorArgs); bytes32 finalSalt = _computeFinalSalt(salt); - pool = Create2.deploy(0, finalSalt, creationCode); + pool = _create2(constructorArgs, finalSalt); _registerPoolWithFactory(pool); } diff --git a/pkg/solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol b/pkg/solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol new file mode 100644 index 00000000..39d0d1e4 --- /dev/null +++ b/pkg/solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; + +import "./CodeDeployer.sol"; +import { Create2 } from "@openzeppelin/contracts/utils/Create2.sol"; + +/** + * @dev Base factory for contracts whose creation code is so large that the factory cannot hold it. This happens when + * the contract's creation code grows close to 24kB. + * + * Note that this factory cannot help with contracts that have a *runtime* (deployed) bytecode larger than 24kB. + */ +contract BaseSplitCodeFactory { + // The contract's creation code is stored as code in two separate addresses, and retrieved via `extcodecopy`. This + // means this factory supports contracts with creation code of up to 48kB. + // We rely on inline-assembly to achieve this, both to make the entire operation highly gas efficient, and because + // `extcodecopy` is not available in Solidity. + + // solhint-disable no-inline-assembly + + address private immutable _creationCodeContractA; + uint256 private immutable _creationCodeSizeA; + + address private immutable _creationCodeContractB; + uint256 private immutable _creationCodeSizeB; + + /** + * @dev The creation code of a contract Foo can be obtained inside Solidity with `type(Foo).creationCode`. + */ + constructor(bytes memory creationCode) { + uint256 creationCodeSize = creationCode.length; + + // We are going to deploy two contracts: one with approximately the first half of `creationCode`'s contents + // (A), and another with the remaining half (B). + // We store the lengths in both immutable and stack variables, since immutable variables cannot be read during + // construction. + uint256 creationCodeSizeA = creationCodeSize / 2; + _creationCodeSizeA = creationCodeSizeA; + + uint256 creationCodeSizeB = creationCodeSize - creationCodeSizeA; + _creationCodeSizeB = creationCodeSizeB; + + // To deploy the contracts, we're going to use `CodeDeployer.deploy()`, which expects a memory array with + // the code to deploy. Note that we cannot simply create arrays for A and B's code by copying or moving + // `creationCode`'s contents as they are expected to be very large (> 24kB), so we must operate in-place. + + // Memory: [ code length ] [ A.data ] [ B.data ] + + // Creating A's array is simple: we simply replace `creationCode`'s length with A's length. We'll later restore + // the original length. + + bytes memory creationCodeA; + assembly { + creationCodeA := creationCode + mstore(creationCodeA, creationCodeSizeA) + } + + // Memory: [ A.length ] [ A.data ] [ B.data ] + // ^ creationCodeA + + // The first half is the beginning of the real contract (as opposed to the second half, which could be + // anything), so we don't strictly need to protect the A contract. Fork tests should test both, + // for completeness. + bool preventExecution = false; + + _creationCodeContractA = CodeDeployer.deploy(creationCodeA, preventExecution); + + // Creating B's array is a bit more involved: since we cannot move B's contents, we are going to create a 'new' + // memory array starting at A's last 32 bytes, which will be replaced with B's length. We'll back-up this last + // byte to later restore it. + + bytes memory creationCodeB; + bytes32 lastByteA; + + assembly { + // `creationCode` points to the array's length, not data, so by adding A's length to it we arrive at A's + // last 32 bytes. + creationCodeB := add(creationCode, creationCodeSizeA) + lastByteA := mload(creationCodeB) + mstore(creationCodeB, creationCodeSizeB) + } + + // Memory: [ A.length ] [ A.data[ : -1] ] [ B.length ][ B.data ] + // ^ creationCodeA ^ creationCodeB + + // The code for contract B starts at a random point, and could accidentally contain valid opcodes. + // The `preventExecution` flag prepends an invalid opcode to ensure the "contract" cannot be accidentally + // (or maliciously) executed. We need to remove this extra byte when reassembling the creation code. + preventExecution = true; + _creationCodeContractB = CodeDeployer.deploy(creationCodeB, preventExecution); + + // We now restore the original contents of `creationCode` by writing back the original length and A's last byte. + assembly { + mstore(creationCodeA, creationCodeSize) + mstore(creationCodeB, lastByteA) + } + } + + /// @dev Returns the two addresses where the creation code of the contract created by this factory is stored. + function getCreationCodeContracts() public view returns (address contractA, address contractB) { + return (_creationCodeContractA, _creationCodeContractB); + } + + /// @dev Returns the creation code of the contract this factory creates. + function getCreationCode() public view returns (bytes memory) { + return _getCreationCodeWithArgs(""); + } + + /** + * @dev Returns the creation code that will result in a contract being deployed with `constructorArgs`. + */ + function _getCreationCodeWithArgs(bytes memory constructorArgs) private view returns (bytes memory code) { + // This function exists because `abi.encode()` cannot be instructed to place its result at a specific address. + // We need for the ABI-encoded constructor arguments to be located immediately after the creation code, but + // cannot rely on `abi.encodePacked()` to perform concatenation as that would involve copying the creation code, + // which would be prohibitively expensive. + // Instead, we compute the creation code in a pre-allocated array that is large enough to hold *both* the + // creation code and the constructor arguments, and then copy the ABI-encoded arguments (which should not be + // overly long) right after the end of the creation code. + + // Immutable variables cannot be used in assembly, so we store them in the stack first. + address creationCodeContractA = _creationCodeContractA; + uint256 creationCodeSizeA = _creationCodeSizeA; + address creationCodeContractB = _creationCodeContractB; + uint256 creationCodeSizeB = _creationCodeSizeB; + + uint256 creationCodeSize = creationCodeSizeA + creationCodeSizeB; + uint256 constructorArgsSize = constructorArgs.length; + + uint256 codeSize = creationCodeSize + constructorArgsSize; + + assembly { + // First, we allocate memory for `code` by retrieving the free memory pointer and then moving it ahead of + // `code` by the size of the creation code plus constructor arguments, and 32 bytes for the array length. + code := mload(0x40) + mstore(0x40, add(code, add(codeSize, 32))) + + // We now store the length of the code plus constructor arguments. + mstore(code, codeSize) + + // Next, we concatenate the creation code stored in A and B. + let dataStart := add(code, 32) + extcodecopy(creationCodeContractA, dataStart, 0, creationCodeSizeA) + // Start at offset 1 in contract B, to skip the inserted invalid opcode. + extcodecopy(creationCodeContractB, add(dataStart, creationCodeSizeA), 1, creationCodeSizeB) + } + + // Finally, we copy the constructorArgs to the end of the array. Unfortunately there is no way to avoid this + // copy, as it is not possible to tell Solidity where to store the result of `abi.encode()`. + uint256 constructorArgsDataPtr; + uint256 constructorArgsCodeDataPtr; + assembly { + constructorArgsDataPtr := add(constructorArgs, 32) + constructorArgsCodeDataPtr := add(add(code, 32), creationCodeSize) + } + + // solhint-disable-next-line no-inline-assembly + assembly ("memory-safe") { + mcopy(constructorArgsCodeDataPtr, constructorArgsDataPtr, constructorArgsSize) + } + } + + /** + * @dev Deploys a contract with constructor arguments and a user-provided salt, using the create2 opcode. + * To create `constructorArgs`, call `abi.encode()` with the contract's constructor arguments, in order. + */ + function _create2(bytes memory constructorArgs, bytes32 salt) internal virtual returns (address) { + bytes memory creationCode = _getCreationCodeWithArgs(constructorArgs); + + return Create2.deploy(0, salt, creationCode); + } + + function _getDeploymentAddress(bytes memory constructorArgs, bytes32 salt) internal view returns (address) { + bytes memory creationCode = _getCreationCodeWithArgs(constructorArgs); + + return Create2.computeAddress(salt, keccak256(creationCode)); + } +} diff --git a/pkg/solidity-utils/contracts/helpers/CodeDeployer.sol b/pkg/solidity-utils/contracts/helpers/CodeDeployer.sol new file mode 100644 index 00000000..0ec2d8aa --- /dev/null +++ b/pkg/solidity-utils/contracts/helpers/CodeDeployer.sol @@ -0,0 +1,128 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; + +/** + * @dev Library used to deploy contracts with specific code. This can be used for long-term storage of immutable data as + * contract code, which can be retrieved via the `extcodecopy` opcode. + */ +library CodeDeployer { + error CodeDeploymentFailed(); + + // During contract construction, the full code supplied exists as code, and can be accessed via `codesize` and + // `codecopy`. This is not the contract's final code however: whatever the constructor returns is what will be + // stored as its code. + // + // We use this mechanism to have a simple constructor that stores whatever is appended to it. The following opcode + // sequence corresponds to the creation code of the following equivalent Solidity contract, plus padding to make the + // full code 32 bytes long: + // + // contract CodeDeployer { + // constructor() payable { + // uint256 size; + // assembly { + // size := sub(codesize(), 32) // size of appended data, as constructor is 32 bytes long + // codecopy(0, 32, size) // copy all appended data to memory at position 0 + // return(0, size) // return appended data for it to be stored as code + // } + // } + // } + // + // More specifically, it is composed of the following opcodes (plus padding): + // + // [1] PUSH1 0x20 + // [2] CODESIZE + // [3] SUB + // [4] DUP1 + // [6] PUSH1 0x20 + // [8] PUSH1 0x00 + // [9] CODECOPY + // [11] PUSH1 0x00 + // [12] RETURN + // + // The padding is just the 0xfe sequence (invalid opcode). It is important as it lets us work in-place, avoiding + // memory allocation and copying. + + bytes32 private constant _DEPLOYER_CREATION_CODE = + 0x602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe; + + // Sometimes (e.g., when deploying the second or "B" half of the creation code in BaseSplitCodeFactory), we need to + // protect the bare contract from being accidentally (or maliciously) executed, in case the bytes at the boundary + // happen to be valid opcodes. It's especially dangerous if the bytes contained the selfdestruct opcode, which would + // destroy the contract (and, if it's a factory, effectively disable it and prevent further pool creation). + // + // To guard against this, if the "preventExecution" flag is set, we prepend an invalid opcode to the contract, + // to ensure that it cannot be executed, regardless of its content. + // + // This corresponds to the following contract: + // + // contract CodeDeployer { + // constructor() payable { + // uint256 size; + // assembly { + // mstore8(0, 0xfe) // store invalid opcode at position 0 + // size := sub(codesize(), 32) // size of appended data, as constructor is 32 bytes long + // codecopy(1, 32, size) // copy all appended data to memory at position 1 + // return(0, add(size, 1)) // return appended data (plus the extra byte) for it to be stored as code + // } + // } + // } + // + // More specifically, it is composed of the following opcodes (plus padding, described above): + // + // [1] PUSH1 0xfe + // [3] PUSH1 0x00 + // [4] MSTORE8 + // [6] PUSH1 0x20 + // [7] CODESIZE + // [8] SUB + // [9] DUP1 + // [11] PUSH1 0x20 + // [13] PUSH1 0x01 + // [14] CODECOPY + // [16] PUSH1 0x01 + // [17] ADD + // [19] PUSH1 0x00 + // [20] RETURN + + // solhint-disable max-line-length + bytes32 private constant _PROTECTED_DEPLOYER_CREATION_CODE = + 0x60fe600053602038038060206001396001016000f3fefefefefefefefefefefe; + + /** + * @dev Deploys a contract with `code` as its code, returning the destination address. + * If preventExecution is set, prepend an invalid opcode to ensure the "contract" cannot be executed. + * Rather than add a flag, we could simply always prepend the opcode, but there might be use cases where fidelity + * is required. + * + * Reverts if deployment fails. + */ + function deploy(bytes memory code, bool preventExecution) internal returns (address destination) { + bytes32 deployerCreationCode = preventExecution ? _PROTECTED_DEPLOYER_CREATION_CODE : _DEPLOYER_CREATION_CODE; + + // We need to concatenate the deployer creation code and `code` in memory, but want to avoid copying all of + // `code` (which could be quite long) into a new memory location. Therefore, we operate in-place using + // assembly. + + // solhint-disable-next-line no-inline-assembly + assembly { + let codeLength := mload(code) + + // `code` is composed of length and data. We've already stored its length in `codeLength`, so we simply + // replace it with the deployer creation code (which is exactly 32 bytes long). + mstore(code, deployerCreationCode) + + // At this point, `code` now points to the deployer creation code immediately followed by `code`'s data + // contents. This is exactly what the deployer expects to receive when created. + destination := create(0, code, add(codeLength, 32)) + + // Finally, we restore the original length in order to not mutate `code`. + mstore(code, codeLength) + } + + // The create opcode returns the zero address when contract creation fails, so we revert if this happens. + if (destination == address(0)) { + revert CodeDeploymentFailed(); + } + } +} diff --git a/pkg/solidity-utils/contracts/test/CodeDeployerMock.sol b/pkg/solidity-utils/contracts/test/CodeDeployerMock.sol new file mode 100644 index 00000000..4f1a1546 --- /dev/null +++ b/pkg/solidity-utils/contracts/test/CodeDeployerMock.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; +import { CodeDeployer } from "../helpers/CodeDeployer.sol"; + +contract CodeDeployerMock { + event CodeDeployed(address destination); + + function deploy(bytes memory data, bool preventExecution) external { + address destination = CodeDeployer.deploy(data, preventExecution); + emit CodeDeployed(destination); + } +} diff --git a/pkg/solidity-utils/contracts/test/MockSplitCodeFactory.sol b/pkg/solidity-utils/contracts/test/MockSplitCodeFactory.sol new file mode 100644 index 00000000..9d1a03c3 --- /dev/null +++ b/pkg/solidity-utils/contracts/test/MockSplitCodeFactory.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; + +import "../helpers/BaseSplitCodeFactory.sol"; + +contract MockFactoryCreatedContract { + bytes32 private _id; + + constructor(bytes32 id) { + require(id != 0, "NON_ZERO_ID"); + _id = id; + } + + function getId() external view returns (bytes32) { + return _id; + } +} + +contract MockSplitCodeFactory is BaseSplitCodeFactory { + event ContractCreated(address destination); + + constructor() BaseSplitCodeFactory(type(MockFactoryCreatedContract).creationCode) { + // solhint-disable-previous-line no-empty-blocks + } + + function create(bytes32 id, bytes32 salt) external returns (address) { + address destination = _create2(abi.encode(id), salt); + emit ContractCreated(destination); + + return destination; + } +} diff --git a/pkg/solidity-utils/test/BaseSplitCodeFactory.test.ts b/pkg/solidity-utils/test/BaseSplitCodeFactory.test.ts new file mode 100644 index 00000000..5ff14e73 --- /dev/null +++ b/pkg/solidity-utils/test/BaseSplitCodeFactory.test.ts @@ -0,0 +1,149 @@ +import { Contract, Signer, randomBytes } from 'ethers'; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; + +import * as expectEvent from '@balancer-labs/v3-helpers/src/test/expectEvent'; +import { deploy, deployedAt, getArtifact } from '@balancer-labs/v3-helpers/src/contract'; +import { sharedBeforeEach } from '@balancer-labs/v3-common/sharedBeforeEach'; +import { ONES_BYTES32, ZERO_BYTES32 } from '@balancer-labs/v3-helpers/src/constants'; +import { takeSnapshot } from '@nomicfoundation/hardhat-network-helpers'; +import { Create2__factory } from '../typechain-types'; + +describe('BasePoolCodeFactory', function () { + let factory: Contract; + let admin: Signer; + + const INVALID_ID = '0x0000000000000000000000000000000000000000000000000000000000000000'; + const id = '0x0123456789012345678901234567890123456789012345678901234567890123'; + + before('setup signers', async () => { + [, admin] = await ethers.getSigners(); + }); + + sharedBeforeEach(async () => { + factory = await deploy('MockSplitCodeFactory', { args: [] }); + }); + + function itReproducesTheCreationCode() { + it('returns the contract creation code storage addresses', async () => { + const { contractA, contractB } = await factory.getCreationCodeContracts(); + + const codeA = await ethers.provider.getCode(contractA); + const codeB = await ethers.provider.getCode(contractB); + + const artifact = getArtifact('MockFactoryCreatedContract'); + // Slice to remove the '0x' prefix and inserted invalid opcode on code B. + expect(codeA.concat(codeB.slice(4))).to.equal(artifact.bytecode); + + // Code B should have a pre-pending invalid opcode. + expect(codeB.slice(0, 4)).to.eq('0xfe'); + }); + } + + itReproducesTheCreationCode(); + + it('returns the contract creation code', async () => { + const artifact = getArtifact('MockFactoryCreatedContract'); + const poolCreationCode = await factory.getCreationCode(); + + expect(poolCreationCode).to.equal(artifact.bytecode); + }); + + it('creates a contract', async () => { + const receipt = await (await factory.create(id, ZERO_BYTES32)).wait(); + expectEvent.inReceipt(receipt, 'ContractCreated'); + }); + + context('half contracts', () => { + it('cannot execute the contract halves', async () => { + const { contractA, contractB } = await factory.getCreationCodeContracts(); + + const txA = { + to: contractA, + value: ethers.parseEther('0.001'), + }; + + const txB = { + to: contractB, + value: ethers.parseEther('0.001'), + }; + + await expect(admin.sendTransaction(txA)).to.be.reverted; + await expect(admin.sendTransaction(txB)).to.be.reverted; + }); + + // And the code is still there after trying + itReproducesTheCreationCode(); + }); + + context('when the creation reverts', () => { + it('reverts and bubbles up revert reasons', async () => { + await expect(factory.create(INVALID_ID, ZERO_BYTES32)).to.be.revertedWithCustomError( + { + interface: Create2__factory.createInterface(), + }, + 'Create2FailedDeployment' + ); + }); + }); + + context('with a created pool', () => { + let contract: string; + + sharedBeforeEach('create contract', async () => { + const receipt = await (await factory.create(id, ZERO_BYTES32)).wait(); + const event = expectEvent.inReceipt(receipt, 'ContractCreated'); + + contract = event.args.destination; + }); + + it('deploys correct bytecode', async () => { + const code = await ethers.provider.getCode(contract); + const artifact = getArtifact('MockFactoryCreatedContract'); + expect(code).to.equal(artifact.deployedBytecode); + }); + + it('cannot deploy twice with the same salt', async () => { + await expect(factory.create(id, ZERO_BYTES32)).to.be.reverted; + }); + + it('can deploy with a different salt', async () => { + await expect(factory.create(id, ONES_BYTES32)).to.not.be.reverted; + }); + + it('passes constructor arguments correctly', async () => { + const contractObject = await deployedAt('MockFactoryCreatedContract', contract); + expect(await contractObject.getId()).to.equal(id); + }); + + it('generates the same address with the same salt and a different nonce', async () => { + // We need to deploy with a reference salt, then "rollback" to before this deployment, + // so that the address no longer has code (which would cause deployment to revert). + // Take a snapshot we can roll back to. + const snapshot = await takeSnapshot(); + + // Deploy with the reference salt and record the address. + let receipt = await (await factory.create(id, ONES_BYTES32)).wait(); + let event = expectEvent.inReceipt(receipt, 'ContractCreated'); + + const targetAddress = event.args.destination; + + // Roll back to before the deployment + await snapshot.restore(); + + // Deploy the same factory with random salts, to increase the nonce + receipt = await (await factory.create(id, randomBytes(32))).wait(); + event = expectEvent.inReceipt(receipt, 'ContractCreated'); + expect(event.args.destination).to.not.equal(targetAddress); + + receipt = await (await factory.create(id, randomBytes(32))).wait(); + event = expectEvent.inReceipt(receipt, 'ContractCreated'); + expect(event.args.destination).to.not.equal(targetAddress); + + // Use the same salt again; it should generate the same address + receipt = await (await factory.create(id, ONES_BYTES32)).wait(); + event = expectEvent.inReceipt(receipt, 'ContractCreated'); + expect(event.args.destination).to.equal(targetAddress); + }); + }); +}); diff --git a/pkg/solidity-utils/test/CodeDeployer.test.ts b/pkg/solidity-utils/test/CodeDeployer.test.ts new file mode 100644 index 00000000..6af58212 --- /dev/null +++ b/pkg/solidity-utils/test/CodeDeployer.test.ts @@ -0,0 +1,90 @@ +import { expect } from 'chai'; +import { Contract, Signer } from 'ethers'; +import { ethers } from 'hardhat'; + +import { deploy } from '@balancer-labs/v3-helpers/src/contract'; +import * as expectEvent from '@balancer-labs/v3-helpers/src/test/expectEvent'; +import { sharedBeforeEach } from '@balancer-labs/v3-common/sharedBeforeEach'; +import { CodeDeployer__factory } from '../typechain-types'; + +describe('CodeDeployer', function () { + let factory: Contract; + let admin: Signer; + + before('setup signers', async () => { + [, admin] = await ethers.getSigners(); + }); + + sharedBeforeEach(async () => { + factory = await deploy('CodeDeployerMock', { args: [] }); + }); + + context('with no code', () => { + itStoresArgumentAsCode('0x'); + }); + + context('with some code', () => { + itStoresArgumentAsCode('0x1234'); + }); + + context('with code 24kB long', () => { + itStoresArgumentAsCode(`0x${'00'.repeat(24 * 1024)}`); + }); + + context('with code over 24kB long', () => { + it('reverts', async () => { + const data = `0x${'00'.repeat(24 * 1024 + 1)}`; + await expect(factory.deploy(data, false)).to.be.revertedWithCustomError( + { + interface: CodeDeployer__factory.createInterface(), + }, + 'CodeDeploymentFailed' + ); + }); + }); + + function itStoresArgumentAsCode(data: string) { + it('stores its constructor argument as its code', async () => { + const receipt = await (await factory.deploy(data, false)).wait(); + const event = expectEvent.inReceipt(receipt, 'CodeDeployed'); + + expect(await ethers.provider.getCode(event.args.destination)).to.equal(data); + }); + } + + describe('CodeDeployer protection', () => { + let deployedContract: string; + + context('protected selfdestruct', () => { + // INVALID + // PUSH0 + // SELFDESTRUCT + // STOP (optional - works without this) + const code = '0x5fff00'; + const safeCode = '0xfe5fff00'; + + sharedBeforeEach('deploy contract', async () => { + // Pass it the unmodified code + const receipt = await (await factory.deploy(code, true)).wait(); + const event = expectEvent.inReceipt(receipt, 'CodeDeployed'); + + deployedContract = event.args.destination; + }); + + // It should actually store the safecode + itStoresArgumentAsCode(safeCode); + + it('does not self destruct', async () => { + const tx = { + to: deployedContract, + value: ethers.parseEther('0.001'), + }; + + await expect(admin.sendTransaction(tx)).to.be.reverted; + + // Should still have the safeCode + expect(await ethers.provider.getCode(deployedContract)).to.equal(safeCode); + }); + }); + }); +}); From e9496235308afe2da21a2eadc3c2b5e7697bd24c Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 26 Feb 2025 20:36:05 +0000 Subject: [PATCH 04/64] deploy test --- .../contracts/deployment/deploy.sol | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkg/pool-quantamm/contracts/deployment/deploy.sol diff --git a/pkg/pool-quantamm/contracts/deployment/deploy.sol b/pkg/pool-quantamm/contracts/deployment/deploy.sol new file mode 100644 index 00000000..632ee62d --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deploy.sol @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + //ETH-USD + ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); + + UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); + + AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); + MomentumUpdateRule _momentum = new MomentumUpdateRule(address(_updateWeightRunner)); + DifferenceMomentumUpdateRule _difMomentum = new DifferenceMomentumUpdateRule(address(_updateWeightRunner)); + ChannelFollowingUpdateRule _channelFollow = new ChannelFollowingUpdateRule(address(_updateWeightRunner)); + MinimumVarianceUpdateRule _minVariance = new MinimumVarianceUpdateRule(address(_updateWeightRunner)); + PowerChannelUpdateRule _powerChannel = new PowerChannelUpdateRule(address(_updateWeightRunner)); + + QuantAMMWeightedPoolFactory _factory = new QuantAMMWeightedPoolFactory(IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9), 604800, "0.1", "0.1", address(_updateWeightRunner)); + + //BTC-USD + ChainlinkOracle _chainlinkBTCUSDOracle = new ChainlinkOracle(0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43); + + //USDC-USD + ChainlinkOracle _chainlinkUSDCUSDOracle = new ChainlinkOracle(0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E); + + vm.stopBroadcast(); + } +} \ No newline at end of file From 8206067590563997f139e84b473026bd273b7e9d Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 6 Mar 2025 22:35:17 +0000 Subject: [PATCH 05/64] further deploy --- .../11155111/run-1741298212.json | 171 ++++++++ .../11155111/run-latest.json | 171 ++++++++ .../11155111/dry-run/run-1741296892.json | 236 ++++++++++ .../11155111/dry-run/run-latest.json | 236 ++++++++++ .../deploy.sol/11155111/run-1740666722.json | 35 ++ .../deploy.sol/11155111/run-1740666794.json | 35 ++ .../deploy.sol/11155111/run-1740667239.json | 52 +++ .../deploy.sol/11155111/run-1740667322.json | 53 +++ .../deploy.sol/11155111/run-1740667616.json | 51 +++ .../deploy.sol/11155111/run-1740668523.json | 51 +++ .../deploy.sol/11155111/run-1740668605.json | 51 +++ .../deploy.sol/11155111/run-1740668647.json | 51 +++ .../deploy.sol/11155111/run-1740668678.json | 51 +++ .../deploy.sol/11155111/run-1740668741.json | 31 ++ .../deploy.sol/11155111/run-1740668801.json | 31 ++ .../deploy.sol/11155111/run-1740668855.json | 31 ++ .../deploy.sol/11155111/run-1740669009.json | 31 ++ .../deploy.sol/11155111/run-1740757396.json | 196 +++++++++ .../deploy.sol/11155111/run-1740757422.json | 196 +++++++++ .../deploy.sol/11155111/run-1740757512.json | 236 ++++++++++ .../deploy.sol/11155111/run-1740757567.json | 236 ++++++++++ .../deploy.sol/11155111/run-1740758205.json | 31 ++ .../deploy.sol/11155111/run-1740758244.json | 31 ++ .../deploy.sol/11155111/run-1741297063.json | 413 ++++++++++++++++++ .../deploy.sol/11155111/run-latest.json | 413 ++++++++++++++++++ .../11155111/run-1741298261.json | 32 ++ .../11155111/run-1741299120.json | 32 ++ .../11155111/run-1741299270.json | 32 ++ .../11155111/run-1741299474.json | 32 ++ .../deploy_pool.sol/11155111/run-latest.json | 32 ++ .../contracts/deployment/approve_oracle.sol | 36 ++ .../contracts/deployment/deploy.sol | 50 ++- .../contracts/deployment/deploy_pool.sol | 183 ++++++++ .../deployment/sepolia_deploy_060325.json | 413 ++++++++++++++++++ 34 files changed, 3945 insertions(+), 17 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json create mode 100644 pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json create mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/contracts/deployment/approve_oracle.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_pool.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json diff --git a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json new file mode 100644 index 00000000..89f0e8d7 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json @@ -0,0 +1,171 @@ +{ + "transactions": [ + { + "hash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef", + "nonce": "0x33", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21", + "nonce": "0x34", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", + "nonce": "0x35", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc3ca4e", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionIndex": "0x78", + "logIndex": "0x74", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000800000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionIndex": "0x78", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc47bd6", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionIndex": "0x79", + "logIndex": "0x75", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000000100000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionIndex": "0x79", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc52d5e", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionIndex": "0x7a", + "logIndex": "0x76", + "removed": false + } + ], + "logsBloom": "0x40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000100100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionIndex": "0x7a", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741298212, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json new file mode 100644 index 00000000..89f0e8d7 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json @@ -0,0 +1,171 @@ +{ + "transactions": [ + { + "hash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef", + "nonce": "0x33", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21", + "nonce": "0x34", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": "addOracle(address)", + "arguments": [ + "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "gas": "0xf536", + "value": "0x0", + "input": "0xdf5dd1a5000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", + "nonce": "0x35", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc3ca4e", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionIndex": "0x78", + "logIndex": "0x74", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000800000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", + "transactionIndex": "0x78", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc47bd6", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionIndex": "0x79", + "logIndex": "0x75", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000000100000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", + "transactionIndex": "0x79", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc52d5e", + "logs": [ + { + "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "topics": [ + "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", + "0x000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a" + ], + "data": "0x", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "blockTimestamp": "0x67ca1a20", + "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionIndex": "0x7a", + "logIndex": "0x76", + "removed": false + } + ], + "logsBloom": "0x40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000100100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000002000000000000000000000000000000000000000020000000", + "type": "0x2", + "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", + "transactionIndex": "0x7a", + "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", + "blockNumber": "0x77beb1", + "gasUsed": "0xb188", + "effectiveGasPrice": "0x11194d", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741298212, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json new file mode 100644 index 00000000..a4cf23a5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json @@ -0,0 +1,236 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x34A1D3fff3958843C43aD80F30b94c510645C316", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x90193C961A926261B756D1E5bb255e67ff9498A1", + "function": null, + "arguments": [ + "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "0x34A1D3fff3958843C43aD80F30b94c510645C316" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a00330000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f3800000000000000000000000034a1d3fff3958843c43ad80f30b94c510645c316", + "nonce": "0x3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636500000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e672900000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0xD718d5A27a29FF1cD22403426084bA0d479869a0", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a10000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0xa", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0xb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0xc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741296892, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json new file mode 100644 index 00000000..a4cf23a5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json @@ -0,0 +1,236 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x34A1D3fff3958843C43aD80F30b94c510645C316", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x90193C961A926261B756D1E5bb255e67ff9498A1", + "function": null, + "arguments": [ + "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "0x34A1D3fff3958843C43aD80F30b94c510645C316" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a00330000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f3800000000000000000000000034a1d3fff3958843c43ad80f30b94c510645c316", + "nonce": "0x3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636500000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e672900000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809", + "function": null, + "arguments": [ + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", + "nonce": "0x9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0xD718d5A27a29FF1cD22403426084bA0d479869a0", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x90193C961A926261B756D1E5bb255e67ff9498A1" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a10000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0xa", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0xb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0xc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741296892, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json new file mode 100644 index 00000000..9e9c2534 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json @@ -0,0 +1,35 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x3039cC016C954c0C3779161589682a2D0fC81049", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740666722, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json new file mode 100644 index 00000000..49d890bb --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json @@ -0,0 +1,35 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x3039cC016C954c0C3779161589682a2D0fC81049", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x122eb2a", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740666794, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json new file mode 100644 index 00000000..c42d1a3a --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json @@ -0,0 +1,52 @@ +{ + "transactions": [ + { + "hash": "0xe5a47cd3ca008b27f5520f25608ebf744e541ea6a84586672d5ea419fb653264", + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11207e7", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe5a47cd3ca008b27f5520f25608ebf744e541ea6a84586672d5ea419fb653264", + "transactionIndex": "0x85", + "blockHash": "0x3b46e0a3ff6a5f5f5262e6381e651e16fe7fcb31831f2e4ec9b9a53462b2496e", + "blockNumber": "0x76f9c8", + "gasUsed": "0x917595", + "effectiveGasPrice": "0x2511f9bcc", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740667239, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json new file mode 100644 index 00000000..754aefd5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json @@ -0,0 +1,53 @@ +{ + "transactions": [ + { + "hash": "0x5c3d8fc943df9dc5cda25bcba7a3245f7bb5c5936b76d63f38da4bad90676239", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21be26f", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x2183315", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5c3d8fc943df9dc5cda25bcba7a3245f7bb5c5936b76d63f38da4bad90676239" + ], + "returns": {}, + "timestamp": 1740667322, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json new file mode 100644 index 00000000..bbc3c04c --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740667616, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json new file mode 100644 index 00000000..6fad129a --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x4c4108B7a2999f2811cF798f829cE25A5E648E98", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x16", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668523, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json new file mode 100644 index 00000000..e4833f5b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668605, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json new file mode 100644 index 00000000..ececc26c --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21be118", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21831bd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668647, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json new file mode 100644 index 00000000..d79a70d4 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21be26f", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x2183315", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668678, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json new file mode 100644 index 00000000..8fe2b8c1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21be26f", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668741, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json new file mode 100644 index 00000000..b8c23480 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8c0f2", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668801, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json new file mode 100644 index 00000000..d6814c0b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8c0f2", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740668855, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json new file mode 100644 index 00000000..10cbddc4 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8c0f2", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740669009, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json new file mode 100644 index 00000000..8d70aef1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json @@ -0,0 +1,196 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8c0f2", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x75bae8", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", + "nonce": "0x1e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x734fb2", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x1f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x72d3f8", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x20", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5824b6", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x21", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8e780c", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x22", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c51d4", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x23", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x7a1db2", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x24", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x122eb2a", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x25", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740757396, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json new file mode 100644 index 00000000..e78ddf95 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json @@ -0,0 +1,196 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21be258", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x21820a8", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", + "nonce": "0x1e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x1e294b5", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x1f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x1adf9c4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x20", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x1799dfc", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x21", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x1517bfd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x22", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x1103feb", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x23", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xe65d2d", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x24", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xae7764", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x25", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": true + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740757422, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json new file mode 100644 index 00000000..33a74b9b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json @@ -0,0 +1,236 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c864a", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", + "nonce": "0x1e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x1f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x20", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x21", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x22", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x23", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", + "function": null, + "arguments": [ + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x24", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x25", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x8416Cdea29D109f7FB1934e8942c0A020f5a1699", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x26", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xd8767Ae1e6C1a9C7d0CAc52D89B372Cd3C5A50cd", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x27", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740757512, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json new file mode 100644 index 00000000..2415e19d --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json @@ -0,0 +1,236 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0x538868e7aDDB66b371415468a3344D0dC97bb663" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", + "nonce": "0x1f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x20", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x21", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x22", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x23", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x24", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", + "function": null, + "arguments": [ + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", + "nonce": "0x25", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x8416Cdea29D109f7FB1934e8942c0A020f5a1699", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x26", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xd8767Ae1e6C1a9C7d0CAc52D89B372Cd3C5A50cd", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x27", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x28", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740757567, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json new file mode 100644 index 00000000..ff69575b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740758205, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json new file mode 100644 index 00000000..8bd5facf --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x8c0f2", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1740758244, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json new file mode 100644 index 00000000..ddcbd529 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json @@ -0,0 +1,413 @@ +{ + "transactions": [ + { + "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x28", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", + "nonce": "0x29", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x30", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x31", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x32", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7e0e5b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionIndex": "0x61", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb8ebdb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionIndex": "0x62", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf293b4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionIndex": "0x63", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12bfdb0", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionIndex": "0x64", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3969fc", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x158100b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionIndex": "0x65", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2c125b", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19f4c11", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionIndex": "0x66", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x473c06", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1cd74fb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionIndex": "0x67", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2e28ea", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x20a83d4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionIndex": "0x68", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3d0ed9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1f9464b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionIndex": "0x6a", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x917595", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1fda6c4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionIndex": "0x6b", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x202073d", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionIndex": "0x6c", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741297063, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json new file mode 100644 index 00000000..ddcbd529 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json @@ -0,0 +1,413 @@ +{ + "transactions": [ + { + "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x28", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", + "nonce": "0x29", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x30", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x31", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x32", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7e0e5b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionIndex": "0x61", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb8ebdb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionIndex": "0x62", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf293b4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionIndex": "0x63", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12bfdb0", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionIndex": "0x64", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3969fc", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x158100b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionIndex": "0x65", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2c125b", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19f4c11", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionIndex": "0x66", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x473c06", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1cd74fb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionIndex": "0x67", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2e28ea", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x20a83d4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionIndex": "0x68", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3d0ed9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1f9464b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionIndex": "0x6a", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x917595", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1fda6c4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionIndex": "0x6b", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x202073d", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionIndex": "0x6c", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741297063, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json new file mode 100644 index 00000000..54ad8cc0 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0x995cc014ed6c16e7496bd395633cc297b3c95274a0b23d9a9c3644f993a02de7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x0000000000000000000000000000000000000000000000000000000000000000, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "gas": "0xa9cb78", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x36", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741298261, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json new file mode 100644 index 00000000..c019bf37 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0xf0fe238a5ef6a2a80cbf6b564a742f3c015a485e80d8bc1e1ee24d874e2d2cb7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x0000000000000000000000000000000000000000000000000000000000000000, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "gas": "0xa9cb78", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x37", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741299120, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json new file mode 100644 index 00000000..64b1eb0e --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0x0786e685a17f5e9ab5e057d360387f0c5e92a85699dc0ded4f9634ac34abbb3a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x465f6151dc6b448be302024a948d335247ab00faf28feea9324f25ad670bb8d3, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "gas": "0xa05e9d", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000465f6151dc6b448be302024a948d335247ab00faf28feea9324f25ad670bb8d3000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x38", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741299270, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json new file mode 100644 index 00000000..c77c26a8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0xc032c36902fce68d3ead4da4ded083d5e64a74eded9afed0aa87370d634d4002", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x67591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "gas": "0xa9cdaa", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000067591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x39", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741299474, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json new file mode 100644 index 00000000..c77c26a8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0xc032c36902fce68d3ead4da4ded083d5e64a74eded9afed0aa87370d634d4002", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x67591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "gas": "0xa9cdaa", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000067591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x39", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741299474, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/approve_oracle.sol new file mode 100644 index 00000000..0037f9af --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/approve_oracle.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0xdA841aEEE267b4607f8F0F3622e99060D64644EF)); + UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0x809CEbbb376A97D175570b5c71ED2a219ACd6f21)); + UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A)); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy.sol b/pkg/pool-quantamm/contracts/deployment/deploy.sol index 632ee62d..cb7e6cd7 100644 --- a/pkg/pool-quantamm/contracts/deployment/deploy.sol +++ b/pkg/pool-quantamm/contracts/deployment/deploy.sol @@ -16,7 +16,7 @@ import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol" contract Deploy is Script { function run() external { - uint256 deployerPrivateKey; + uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) @@ -28,24 +28,40 @@ contract Deploy is Script { } //ETH-USD - ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); - - UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); - - AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); - MomentumUpdateRule _momentum = new MomentumUpdateRule(address(_updateWeightRunner)); - DifferenceMomentumUpdateRule _difMomentum = new DifferenceMomentumUpdateRule(address(_updateWeightRunner)); - ChannelFollowingUpdateRule _channelFollow = new ChannelFollowingUpdateRule(address(_updateWeightRunner)); - MinimumVarianceUpdateRule _minVariance = new MinimumVarianceUpdateRule(address(_updateWeightRunner)); - PowerChannelUpdateRule _powerChannel = new PowerChannelUpdateRule(address(_updateWeightRunner)); + //0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748 + ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); + + //0xB8688e8B06682ebef4e8ceAeEc2DAf57fC662f1B + UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); + + //0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB + AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); + + //0x8905b91b301677e674cF964Fbc4Ac3844EF79620 + MomentumUpdateRule _momentum = new MomentumUpdateRule(address(_updateWeightRunner)); + + //0x4FFE46130bCBb16BF5EDc4bBaa06f158921764C2 + DifferenceMomentumUpdateRule _difMomentum = new DifferenceMomentumUpdateRule(address(_updateWeightRunner)); + + //0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295 + ChannelFollowingUpdateRule _channelFollow = new ChannelFollowingUpdateRule(address(_updateWeightRunner)); + + //0xD5c43063563f9448cE822789651662cA7DcD5773 + MinimumVarianceUpdateRule _minVariance = new MinimumVarianceUpdateRule(address(_updateWeightRunner)); - QuantAMMWeightedPoolFactory _factory = new QuantAMMWeightedPoolFactory(IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9), 604800, "0.1", "0.1", address(_updateWeightRunner)); - - //BTC-USD - ChainlinkOracle _chainlinkBTCUSDOracle = new ChainlinkOracle(0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43); + //0x79F57AB6523EdC139F7f21F024f78b2738eE99bf + PowerChannelUpdateRule _powerChannel = new PowerChannelUpdateRule(address(_updateWeightRunner)); + + //0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4 + QuantAMMWeightedPoolFactory _factory = new QuantAMMWeightedPoolFactory(IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9), 604800, "0.1", "0.1", address(_updateWeightRunner)); + // + // //BTC-USD + //0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B + ChainlinkOracle _chainlinkBTCUSDOracle = new ChainlinkOracle(0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43); - //USDC-USD - ChainlinkOracle _chainlinkUSDCUSDOracle = new ChainlinkOracle(0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E); + ////USDC-USD + //0x4c4108B7a2999f2811cF798f829cE25A5E648E98 + ChainlinkOracle _chainlinkUSDCUSDOracle = new ChainlinkOracle(0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol b/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol new file mode 100644 index 00000000..f310b2d2 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol @@ -0,0 +1,183 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.26; + +import "../QuantAMMWeightedPoolFactory.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IRateProvider } from "@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol"; +import { PoolRoleAccounts, TokenConfig, TokenType } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; + +import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; +import { IUpdateRule } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol"; +import { OracleWrapper } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol"; + +import { Script } from "forge-std/Script.sol"; + +import "forge-std/console.sol"; // Import the console library + +contract CreatePoolBroadcast is Script { + + function _createPoolParams() internal view returns (QuantAMMWeightedPoolFactory.CreationNewPoolParams memory retParams) { + IRateProvider[] memory rateProviders; + PoolRoleAccounts memory roleAccounts; + + address[] memory tokens = new address[](2); + //USDC sepolia + tokens[0] = 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8; + + //WBTC sepolia + tokens[1] = 0x29f2D40B0605204364af54EC677bD022dA425d03; + + IERC20[] memory tokensIERC20 = new IERC20[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + tokensIERC20[i] = IERC20(tokens[i]); } + + TokenConfig[] memory tokenConfig = new TokenConfig[](tokens.length); + for (uint256 i = 0; i < asIERC20(tokens).length; ++i) { + tokenConfig[i].token = asIERC20(tokens)[i]; + if(rateProviders.length > 0) { + tokenConfig[i].rateProvider = rateProviders[i]; + tokenConfig[i].tokenType = rateProviders[i] == IRateProvider(address(0)) + ? TokenType.STANDARD + : TokenType.WITH_RATE; + } + } + + tokenConfig = sortTokenConfig(tokenConfig); + + uint64[] memory lambdas = new uint64[](1); + lambdas[0] = 0.2e18; + + int256[] memory intermediateValueStubs = new int256[](2); + intermediateValueStubs[0] = 1e18; + intermediateValueStubs[1] = 1e18; + + int256[][] memory parameters = new int256[][](1); + parameters[0] = new int256[](1); + parameters[0][0] = 0.2e18; + + address[][] memory oracles = new address[][](2); + oracles[0] = new address[](1); + oracles[1] = new address[](1); + //USDC + oracles[0][0] = 0x809CEbbb376A97D175570b5c71ED2a219ACd6f21; + + //WBTC + oracles[1][0] = 0xdA841aEEE267b4607f8F0F3622e99060D64644EF; + + uint256[] memory normalizedWeights = new uint256[](tokens.length); + normalizedWeights[0] = uint256(0.5e18); + normalizedWeights[1] = uint256(0.5e18); + + int256[] memory intNormalizedWeights = new int256[](tokens.length); + intNormalizedWeights[0] = 0.5e18; + intNormalizedWeights[1] = 0.5e18; + + string[][] memory poolDetails = new string[][](1); + poolDetails[0] = new string[](4); + poolDetails[0][0] = "Overview"; + poolDetails[0][1] = "Adaptability"; + poolDetails[0][2] = "number"; + poolDetails[0][3] = "5"; + bytes32 salt = keccak256(abi.encodePacked(msg.sender, block.timestamp)); + console.log("starting params"); + retParams = QuantAMMWeightedPoolFactory.CreationNewPoolParams( + //string name; + "test quantamm pool", + //string symbol; + "test", + //TokenConfig[] tokens; + tokenConfig, + //uint256[] normalizedWeights; + normalizedWeights, + //PoolRoleAccounts roleAccounts; + roleAccounts, + //uint256 swapFeePercentage; + 0.02e18, + //address poolHooksContract; + address(0), + //bool enableDonation; + true, + //bool disableUnbalancedLiquidity; + false, // Do not disable unbalanced add/remove liquidity + //bytes32 salt; + salt, + //int256[] _initialWeights; + intNormalizedWeights, + //IQuantAMMWeightedPool.PoolSettings _poolSettings; + IQuantAMMWeightedPool.PoolSettings( + //IERC20[] assets; + asIERC20(tokens), + //IUpdateRule rule; + IUpdateRule(0xd728f8c62949BbfB4E3D1701C263887F313e9B4e), + //address[][] oracles; + oracles, + //uint16 updateInterval; + 60, + //uint64[] lambda; + lambdas, + //uint64 epsilonMax; + 0.2e18, + //uint64 absoluteWeightGuardRail; + 0.2e18, + //uint64 maxTradeSizeRatio; + 0.3e18, + //int256[][] ruleParameters; + parameters, + //address poolManager; + msg.sender + ), + //int256[] _initialMovingAverages; + intermediateValueStubs, + //int256[] _initialIntermediateValues; + intermediateValueStubs, + //uint256 _oracleStalenessThreshold; + 3600, + //uint256 poolRegistry; + 16,//able to set weights + //string[][] poolDetails; + poolDetails + ); + } + + function asIERC20(address[] memory addresses) internal pure returns (IERC20[] memory tokens) { + // solhint-disable-next-line no-inline-assembly + assembly ("memory-safe") { + tokens := addresses + } + } + //taken out of IVault to avoid using the buildTokenConfig function + function sortTokenConfig(TokenConfig[] memory tokenConfig) public pure returns (TokenConfig[] memory) { + for (uint256 i = 0; i < tokenConfig.length - 1; ++i) { + for (uint256 j = 0; j < tokenConfig.length - i - 1; j++) { + if (tokenConfig[j].token > tokenConfig[j + 1].token) { + // Swap if they're out of order. + (tokenConfig[j], tokenConfig[j + 1]) = (tokenConfig[j + 1], tokenConfig[j]); + } + } + } + + return tokenConfig; + } + function run() external { + + vm.startBroadcast(); + + console.log("Creating pool"); + // Instance of the factory contract + QuantAMMWeightedPoolFactory factory = QuantAMMWeightedPoolFactory(0x09191Ca061108c03D41b9a154e20C6f188291404); + + console.log("Creating params"); + // Define the parameters for the new pool + QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); + + console.log("Creating pool without args"); + // Wrapping the call to create the pool in a try-catch block + try factory.createWithoutArgs(params) returns (address pool) { + console.log("Pool created successfully at address:", pool); + } catch (bytes memory error) { + console.log("Pool creation failed with error:", string(error)); + } + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json b/pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json new file mode 100644 index 00000000..ddcbd529 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json @@ -0,0 +1,413 @@ +{ + "transactions": [ + { + "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x28", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", + "nonce": "0x29", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionType": "CREATE", + "contractName": "MomentumUpdateRule", + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4aa361", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionType": "CREATE", + "contractName": "DifferenceMomentumUpdateRule", + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x394b0f", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionType": "CREATE", + "contractName": "ChannelFollowingUpdateRule", + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5c9ad4", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionType": "CREATE", + "contractName": "MinimumVarianceUpdateRule", + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x3c01fd", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionType": "CREATE", + "contractName": "PowerChannelUpdateRule", + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4f601a", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionType": "CREATE", + "contractName": "QuantAMMWeightedPoolFactory", + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "function": null, + "arguments": [ + "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "604800", + "0.1", + "0.1", + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xbd18db", + "value": "0x0", + "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", + "nonce": "0x30", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", + "function": null, + "arguments": [ + "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", + "nonce": "0x31", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", + "function": null, + "arguments": [ + "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", + "nonce": "0x32", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7e0e5b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", + "transactionIndex": "0x61", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb8ebdb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", + "transactionIndex": "0x62", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf293b4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionIndex": "0x63", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12bfdb0", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", + "transactionIndex": "0x64", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3969fc", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x158100b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", + "transactionIndex": "0x65", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2c125b", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19f4c11", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", + "transactionIndex": "0x66", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x473c06", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1cd74fb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", + "transactionIndex": "0x67", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x2e28ea", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x20a83d4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", + "transactionIndex": "0x68", + "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", + "blockNumber": "0x77be51", + "gasUsed": "0x3d0ed9", + "effectiveGasPrice": "0x19524c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1f9464b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", + "transactionIndex": "0x6a", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x917595", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1fda6c4", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", + "transactionIndex": "0x6b", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x202073d", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", + "transactionIndex": "0x6c", + "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", + "blockNumber": "0x77be52", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x1a943e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741297063, + "chain": 11155111, + "commit": "98ddc72" +} \ No newline at end of file From 41f938789e6c5e656edbda2e109027a764af6068 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 10 Mar 2025 14:11:34 +0000 Subject: [PATCH 06/64] further deployment test progress --- .../11155111/run-1741609153.json | 46 ++++++ .../11155111/run-latest.json | 46 ++++++ .../11155111/run-1741609286.json | 139 ++++++++++++++++++ .../11155111/run-1741609984.json | 139 ++++++++++++++++++ .../deploy_pool.sol/11155111/run-latest.json | 127 ++++++++++++++-- .../deployment/deploy_hardhat_compiled.sol | 54 +++++++ .../contracts/deployment/deploy_pool.sol | 5 +- .../contracts/deployment/pool_checks.sol | 39 +++++ 8 files changed, 583 insertions(+), 12 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json create mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/pool_checks.sol diff --git a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json new file mode 100644 index 00000000..60177bd5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json @@ -0,0 +1,46 @@ +{ + "transactions": [ + { + "hash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", + "transactionType": "CREATE", + "contractName": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "function": null, + "arguments": null, + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xab3154", + "value": "0x0", + "input": "0x6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e320000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xab9c8b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", + "transactionIndex": "0xa", + "blockHash": "0x18f25a1d40d98c9f4fb99c3b573c6102e2c130e2a72bd91d3cc5546f6d75d7df", + "blockNumber": "0x782373", + "gasUsed": "0x83afcb", + "effectiveGasPrice": "0x34c1fb14bd", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741609153, + "chain": 11155111, + "commit": "4b402e5" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json new file mode 100644 index 00000000..60177bd5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json @@ -0,0 +1,46 @@ +{ + "transactions": [ + { + "hash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", + "transactionType": "CREATE", + "contractName": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "function": null, + "arguments": null, + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0xab3154", + "value": "0x0", + "input": "0x6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e320000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xab9c8b", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", + "transactionIndex": "0xa", + "blockHash": "0x18f25a1d40d98c9f4fb99c3b573c6102e2c130e2a72bd91d3cc5546f6d75d7df", + "blockNumber": "0x782373", + "gasUsed": "0x83afcb", + "effectiveGasPrice": "0x34c1fb14bd", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741609153, + "chain": 11155111, + "commit": "4b402e5" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json new file mode 100644 index 00000000..c86cce14 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json @@ -0,0 +1,139 @@ +{ + "transactions": [ + { + "hash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x19c8d8e50f8576217b8dda4e3e5aa7e2193ba1114a4ab2fa7671568a48b46053, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "gas": "0x8200fd", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000019c8d8e50f8576217b8dda4e3e5aa7e2193ba1114a4ab2fa7671568a48b46053000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1f1b0ce", + "logs": [ + { + "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "topics": [ + "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", + "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" + ], + "data": "0x", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x25c", + "removed": false + }, + { + "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067ced9440000000000000000000000000000000000000000000000000000000067ced944000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x25d", + "removed": false + }, + { + "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", + "topics": [ + "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" + ], + "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x25e", + "removed": false + }, + { + "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x25f", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", + "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" + ], + "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x260", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", + "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4", + "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "blockTimestamp": "0x67ced944", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "logIndex": "0x261", + "removed": false + } + ], + "logsBloom": "0x400000000000000000000000000000000000000000000000800000000020000000000000080008000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000000000000200000000000000010000000008000000000000000000000000c0000000000000000000000000100000000000000100000000000000000002080000000100000000000040800040000008000010000000000000000000020084100800000000000000000000000000000000002000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", + "transactionIndex": "0x235", + "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", + "blockNumber": "0x78237e", + "gasUsed": "0x5e1ed6", + "effectiveGasPrice": "0x3d553b5b38", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741609286, + "chain": 11155111, + "commit": "4b402e5" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json new file mode 100644 index 00000000..18c46a48 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json @@ -0,0 +1,139 @@ +{ + "transactions": [ + { + "hash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", + "arguments": [ + "(test quantamm pool 2, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0xc2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "gas": "0x894524", + "value": "0x0", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001474657374207175616e74616d6d20706f6f6c203200000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12464aa", + "logs": [ + { + "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "topics": [ + "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x108", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067cedbfc0000000000000000000000000000000000000000000000000000000067cedbfc000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x109", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" + ], + "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10a", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10b", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10c", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77", + "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10d", + "removed": false + } + ], + "logsBloom": "0x408000000000000000000000000000000000000000000000800000000020080000000000080000008000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000008000000200000000000000000000000008000000000000000000000000c0000000000000000000000000000000000000000100000000000000000002080000000000000000000040800040000008000010000000000000000000020004100800000000000000000000000001000100002000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "gasUsed": "0x5ddc22", + "effectiveGasPrice": "0x396c5d4d35", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741609984, + "chain": 11155111, + "commit": "4b402e5" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json index c77c26a8..18c46a48 100644 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json @@ -1,32 +1,139 @@ { "transactions": [ { - "hash": "0xc032c36902fce68d3ead4da4ded083d5e64a74eded9afed0aa87370d634d4002", + "hash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", "transactionType": "CALL", "contractName": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", + "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x67591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" + "(test quantamm pool 2, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0xc2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "gas": "0xa9cdaa", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "gas": "0x894524", "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000067591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x39", + "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001474657374207175616e74616d6d20706f6f6c203200000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x3d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], - "receipts": [], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12464aa", + "logs": [ + { + "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "topics": [ + "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x108", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067cedbfc0000000000000000000000000000000000000000000000000000000067cedbfc000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x109", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" + ], + "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10a", + "removed": false + }, + { + "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10b", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" + ], + "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10c", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", + "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77", + "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "blockTimestamp": "0x67cedbfc", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "logIndex": "0x10d", + "removed": false + } + ], + "logsBloom": "0x408000000000000000000000000000000000000000000000800000000020080000000000080000008000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000008000000200000000000000000000000008000000000000000000000000c0000000000000000000000000000000000000000100000000000000000002080000000000000000000040800040000008000010000000000000000000020004100800000000000000000000000001000100002000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", + "transactionIndex": "0xef", + "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", + "blockNumber": "0x7823b8", + "gasUsed": "0x5ddc22", + "effectiveGasPrice": "0x396c5d4d35", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", + "contractAddress": null + } + ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1741299474, + "timestamp": 1741609984, "chain": 11155111, - "commit": "98ddc72" + "commit": "4b402e5" } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol b/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol new file mode 100644 index 00000000..e1e84ecf --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; + +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + bytes memory bytecode = hex"6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033"; + + bytes memory constructorArgs = abi.encode( + address(0xbA1333333333a1BA1108E8412f11850A5C319bA9), // Address of IVault + uint32(604800), // pauseWindowDuration + string("0.2"), // factoryVersion + string("0.2"), // poolVersion + address(0xCf70bf72e52c60D4B378F302c3798fdd7247709a) // updateWeightRunner + ); + + // Concatenate bytecode with constructor arguments + bytes memory creationCode = abi.encodePacked(bytecode, constructorArgs); + + // Allocate memory for the full bytecode and arguments + address deployedContract; + assembly { + // Get the current free memory pointer + let freeMemoryPointer := mload(0x40) + + // Update the free memory pointer to account for the size of the creationCode + mstore(0x40, add(freeMemoryPointer, add(mload(creationCode), 32))) + + // Deploy the contract using `create` + deployedContract := create(0, add(creationCode, 0x20), mload(creationCode)) + + // If deployment failed, revert + if iszero(deployedContract) { + revert(0, 0) + } + } + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol b/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol index f310b2d2..3f9be102 100644 --- a/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol @@ -82,7 +82,7 @@ contract CreatePoolBroadcast is Script { console.log("starting params"); retParams = QuantAMMWeightedPoolFactory.CreationNewPoolParams( //string name; - "test quantamm pool", + "test quantamm pool 2", //string symbol; "test", //TokenConfig[] tokens; @@ -164,7 +164,8 @@ contract CreatePoolBroadcast is Script { console.log("Creating pool"); // Instance of the factory contract - QuantAMMWeightedPoolFactory factory = QuantAMMWeightedPoolFactory(0x09191Ca061108c03D41b9a154e20C6f188291404); + // hardhat compiled factory - 0x23920dFC349c55F535D1020dcaBFEf4E80b9680b + QuantAMMWeightedPoolFactory factory = QuantAMMWeightedPoolFactory(0x23920dFC349c55F535D1020dcaBFEf4E80b9680b); console.log("Creating params"); // Define the parameters for the new pool diff --git a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol new file mode 100644 index 00000000..7b264b93 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + uint256[] memory poolNormalizedWeights = QuantAMMWeightedPool(0x6471455C50c1Ea6e1aee1915606D9412C4496E77).getNormalizedWeights(); + + for(uint256 i = 0; i < poolNormalizedWeights.length; i++) { + console.log("Pool weights: ", poolNormalizedWeights[i]); + } + + vm.stopBroadcast(); + } +} \ No newline at end of file From bacfdf273e3d859c1f4879a81e7fb97fbb16fbf1 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 12 Mar 2025 10:58:32 +0000 Subject: [PATCH 07/64] slight tidy up and new deploy antimom test --- .../11155111/run-1741774592.json | 121 ++++++++++++++++++ .../11155111/run-latest.json | 121 ++++++++++++++++++ .../contracts/deployment/antimom.json | 20 +++ .../deployment/deploy_antimomentum.sol | 41 ++++++ .../artifact-AntiMomentumUpdateRule.json | 1 + .../deploy-run-latest.json} | 0 .../deplyo-antimomentum-run-latest.json | 121 ++++++++++++++++++ .../deployment/deployment_logs/verify.txt | 9 ++ .../contracts/deployment/verify_test.sol | 30 +++++ 9 files changed, 464 insertions(+) create mode 100644 pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json create mode 100644 pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/contracts/deployment/antimom.json create mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json rename pkg/pool-quantamm/contracts/deployment/{sepolia_deploy_060325.json => deployment_logs/deploy-run-latest.json} (100%) create mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json create mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt create mode 100644 pkg/pool-quantamm/contracts/deployment/verify_test.sol diff --git a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json new file mode 100644 index 00000000..3db3aaa1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json @@ -0,0 +1,121 @@ +{ + "transactions": [ + { + "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x3e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", + "nonce": "0x3f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", + "function": null, + "arguments": [ + "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", + "nonce": "0x40", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x129e003", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionIndex": "0xa2", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x164bd83", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionIndex": "0xa3", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19e655c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionIndex": "0xa4", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741774592, + "chain": 11155111, + "commit": "d423799" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json new file mode 100644 index 00000000..3db3aaa1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json @@ -0,0 +1,121 @@ +{ + "transactions": [ + { + "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x3e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", + "nonce": "0x3f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", + "function": null, + "arguments": [ + "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", + "nonce": "0x40", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x129e003", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionIndex": "0xa2", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x164bd83", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionIndex": "0xa3", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19e655c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionIndex": "0xa4", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741774592, + "chain": 11155111, + "commit": "d423799" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/antimom.json b/pkg/pool-quantamm/contracts/deployment/antimom.json new file mode 100644 index 00000000..2a11d1df --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/antimom.json @@ -0,0 +1,20 @@ +{ + "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", + "function": null, + "arguments": [ + "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", + "nonce": "0x2a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol b/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol new file mode 100644 index 00000000..6f8ad65d --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + //ETH-USD + //0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748 + ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); + + //0xB8688e8B06682ebef4e8ceAeEc2DAf57fC662f1B + UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); + + //0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB + AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); + + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json new file mode 100644 index 00000000..b89d9d13 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_updateWeightRunner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"CalculateNewWeights","inputs":[{"name":"_prevWeights","type":"int256[]","internalType":"int256[]"},{"name":"_data","type":"int256[]","internalType":"int256[]"},{"name":"_pool","type":"address","internalType":"address"},{"name":"_parameters","type":"int256[][]","internalType":"int256[][]"},{"name":"_lambdaStore","type":"uint64[]","internalType":"uint64[]"},{"name":"_epsilonMax","type":"uint64","internalType":"uint64"},{"name":"_absoluteWeightGuardRail","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"updatedWeights","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"initialisePoolRuleIntermediateValues","inputs":[{"name":"_poolAddress","type":"address","internalType":"address"},{"name":"_newMovingAverages","type":"int256[]","internalType":"int256[]"},{"name":"_newInitialValues","type":"int256[]","internalType":"int256[]"},{"name":"_numberOfAssets","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"movingAverages","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"parameterDescriptions","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validParameters","inputs":[{"name":"_parameters","type":"int256[][]","internalType":"int256[][]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"error","name":"PRBMathSD59x18__DivInputTooSmall","inputs":[]},{"type":"error","name":"PRBMathSD59x18__DivOverflow","inputs":[{"name":"rAbs","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMathSD59x18__Exp2InputTooBig","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__FromIntOverflow","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__FromIntUnderflow","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__LogInputTooSmall","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__MulInputTooSmall","inputs":[]},{"type":"error","name":"PRBMathSD59x18__MulOverflow","inputs":[{"name":"rAbs","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath__MulDivFixedPointOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72","sourceMap":"494:7245:451:-:0;;;573:574;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3294:40:457;;;;656:21:451::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;656:21:451::1;::::0;::::1;::::0;:4:::1;::::0;:21:::1;::::0;:4;:21:::1;:::i;:::-;-1:-1:-1::0;720:15:451::1;::::0;;733:1:::1;720:15:::0;;;;;::::1;::::0;;;;::::1;;;;;;;;;;;;;;;;;-1:-1:-1::0;;696:39:451;;::::1;::::0;:21:::1;::::0;:39:::1;::::0;;::::1;::::0;::::1;:::i;:::-;;745:137;;;;;;;;;;;;;;;;;:21;767:1;745:24;;;;;;;;:::i;:::-;;;;;;;;:137;;;;;;:::i;:::-;;892:115;;;;;;;;;;;;;;;;;:21;914:1;892:24;;;;;;;;:::i;:::-;;;;;;;;:115;;;;;;:::i;:::-;;1017:123;;;;;;;;;;;;;;;;;:21;1039:1;1017:24;;;;;;;;:::i;:::-;;;;;;;;:123;;;;;;:::i;:::-;;573:574:::0;494:7245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;494:7245:451;;;-1:-1:-1;494:7245:451;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:290:493;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:493;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:493:o;309:127::-;370:10;365:3;361:20;358:1;351:31;401:4;398:1;391:15;425:4;422:1;415:15;441:380;520:1;516:12;;;;563;;;584:61;;638:4;630:6;626:17;616:27;;584:61;691:2;683:6;680:14;660:18;657:38;654:161;;737:10;732:3;728:20;725:1;718:31;772:4;769:1;762:15;800:4;797:1;790:15;654:161;;441:380;;;:::o;952:518::-;1054:2;1049:3;1046:11;1043:421;;;1090:5;1087:1;1080:16;1134:4;1131:1;1121:18;1204:2;1192:10;1188:19;1185:1;1181:27;1175:4;1171:38;1240:4;1228:10;1225:20;1222:47;;;-1:-1:-1;1263:4:493;1222:47;1318:2;1313:3;1309:12;1306:1;1302:20;1296:4;1292:31;1282:41;;1373:81;1391:2;1384:5;1381:13;1373:81;;;1450:1;1436:16;;1417:1;1406:13;1373:81;;;1377:3;;1043:421;952:518;;;:::o;1646:1299::-;1766:10;;-1:-1:-1;;;;;1788:30:493;;1785:56;;;1821:18;;:::i;:::-;1850:97;1940:6;1900:38;1932:4;1926:11;1900:38;:::i;:::-;1894:4;1850:97;:::i;:::-;1996:4;2027:2;2016:14;;2044:1;2039:649;;;;2732:1;2749:6;2746:89;;;-1:-1:-1;2801:19:493;;;2795:26;2746:89;-1:-1:-1;;1603:1:493;1599:11;;;1595:24;1591:29;1581:40;1627:1;1623:11;;;1578:57;2848:81;;2009:930;;2039:649;899:1;892:14;;;936:4;923:18;;-1:-1:-1;;2075:20:493;;;2193:222;2207:7;2204:1;2201:14;2193:222;;;2289:19;;;2283:26;2268:42;;2396:4;2381:20;;;;2349:1;2337:14;;;;2223:12;2193:222;;;2197:3;2443:6;2434:7;2431:19;2428:201;;;2504:19;;;2498:26;-1:-1:-1;;2587:1:493;2583:14;;;2599:3;2579:24;2575:37;2571:42;2556:58;2541:74;;2428:201;-1:-1:-1;;;;2675:1:493;2659:14;;;2655:22;2642:36;;-1:-1:-1;1646:1299:493:o;2950:127::-;3011:10;3006:3;3002:20;2999:1;2992:31;3042:4;3039:1;3032:15;3066:4;3063:1;3056:15;2950:127;494:7245:451;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a0033","sourceMap":"494:7245:451:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:18:457;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6821:916:451;;;;;;:::i;:::-;;:::i;:::-;;;1478:14:493;;1471:22;1453:41;;1441:2;1426:18;6821:916:451;1313:187:493;1695:37:457;;;;;;:::i;:::-;;:::i;11012:624::-;;;;;;:::i;:::-;;:::i;:::-;;3828:5508;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;803:50:462:-;;;;;;:::i;:::-;;:::i;:::-;;;6857:25:493;;;6845:2;6830:18;803:50:462;6713:175:493;1671:18:457;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6821:916:451:-;6911:4;6953:1;6931:23;;;:82;;-1:-1:-1;6981:1:451;6959:23;;:53;;;;;6986:11;;6998:1;6986:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:21;;7011:1;6986:26;6959:53;6927:773;;;7029:21;7053:11;;7065:1;7053:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7029:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7103:12:451;;7029:38;;-1:-1:-1;7029:38:451;7096:24;;;;;-1:-1:-1;7096:32:451;;-1:-1:-1;;7096:32:451;7127:1;7096:32;;;7123:1;7096:32;7081:47;;;;7147:6;7142:234;7159:5;:12;7155:1;:16;7142:234;;;7210:1;7199:5;7205:1;7199:8;;;;;;;;:::i;:::-;;;;;;;:12;7193:98;;7244:1;7236:9;;7267:5;;7193:98;7340:3;;7142:234;;;-1:-1:-1;7451:1:451;7429:23;;:53;;;;;7456:11;;7468:1;7456:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:21;;7481:1;7456:26;7429:53;7426:232;;;7519:11;;7531:1;7519:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7534:1;7519:17;;;;;;;:::i;:::-;;;;;;;7540:1;7519:22;:72;;;;7566:25;7589:1;7566:22;:25::i;:::-;7545:11;;7557:1;7545:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7560:1;7545:17;;;;;;;:::i;:::-;;;;;;;:46;7519:72;7513:131;;-1:-1:-1;7624:1:451;7513:131;7679:5;:10;;7688:1;7679:10;7672:17;;;;;;6927:773;-1:-1:-1;7725:5:451;6821:916;;;;;:::o;1695:37:457:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11012:624::-;11381:10;-1:-1:-1;;;;;11381:26:457;;;;:62;;-1:-1:-1;11411:10:457;-1:-1:-1;;;;;11425:18:457;11411:32;;11381:62;11373:81;;;;-1:-1:-1;;;11373:81:457;;8275:2:493;11373:81:457;;;8257:21:493;8314:1;8294:18;;;8287:29;8352:8;8332:18;;;8325:36;8378:18;;11373:81:457;;;;;;;;;11464:76;11490:12;11504:18;11524:15;11464:25;:76::i;:::-;11550:79;11580:12;11594:17;11613:15;11550:29;:79::i;:::-;11012:624;;;;:::o;3828:5508::-;4127:30;4177:10;-1:-1:-1;;;;;4191:18:457;4177:32;;4169:56;;;;-1:-1:-1;;;4169:56:457;;8609:2:493;4169:56:457;;;8591:21:493;8648:2;8628:18;;;8621:30;8687:13;8667:18;;;8660:41;8718:18;;4169:56:457;8407:335:493;4169:56:457;4236:38;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:38:457;4285:21;;;:43;;;4357:25;4381:1;4309:12;4357:25;:::i;:::-;4338:16;;;:44;4421:12;4408:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4408:33:457;-1:-1:-1;4392:13:457;;;:49;4452:206;4478:13;;;;:20;4467:8;;:31;4452:206;;;4557:12;;4570:6;:8;;;4557:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4549:31;;4516:6;:13;;;4530:6;:8;;;4516:23;;;;;;;;:::i;:::-;:65;;;;;:23;;;;;;;;;;;:65;4623:10;;;;;;4452:206;;;6192:6:451;4668:26:457;;;:78;4802:21;;;;4756:43;;;:67;;;5018:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5018:35:457;-1:-1:-1;4991:24:457;;;:62;5106:21;;;;5093:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:35:457;-1:-1:-1;5063:27:457;;;:65;5185:43;;;;5172:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5172:57:457;-1:-1:-1;5138:31:457;;;:91;-1:-1:-1;;;;;5291:21:457;;;;;;:14;:21;;;;;;;;;5267:69;;;;;;;;;;;;;;;;;;;;;;5291:21;5267:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5314:6;:21;;;5267:23;:69::i;:::-;5240:24;;;:96;;;5469:160;;;;;;;;;;;;;;;;;;;;5240:96;5552:5;;;;;;5469:160;;;5552:5;;5469:160;5552:5;5469:160;;;;;;;;;-1:-1:-1;;;;5571:13:457;;;;5598:21;;;;5469:31;:160::i;:::-;5439:27;;;:190;5644:21;;;;:25;;5668:1;;5644:25;:::i;:::-;:30;5640:121;;5720:16;;;5718:18;;-1:-1:-1;;5718:18:457;;;5640:121;6097:1;6086:12;;6108:1166;6126:16;;;;6115:8;;:27;6108:1166;;;6164:6;:26;;;6160:167;;;6278:24;;;;6303:8;;6278:34;;;;;;;;:::i;:::-;;;;;;;6210:6;:31;;;6253:6;:21;;;6242:6;:8;;;:32;;;;:::i;:::-;6210:65;;;;;;;;:::i;:::-;;;;;;:102;;;;;6160:167;6384:27;;;;6412:8;;6384:37;;;;;;;;:::i;:::-;;;;;;;6340:6;:31;;;6372:6;:8;;;6340:41;;;;;;;;:::i;:::-;;;;;;;;;;:81;6485:8;;6496:1;6485:12;6464:18;;;:33;6529:26;;;;6525:225;;;6653:6;:24;;;6699:6;:18;;;6653:82;;;;;;;;:::i;:::-;;;;;;;6575:6;:31;;;6628:6;:21;;;6607:6;:18;;;:42;;;;:::i;:::-;6575:75;;;;;;;;:::i;:::-;;;;;;:160;;;;;6525:225;6817:6;:27;;;6845:6;:18;;;6817:47;;;;;;;;:::i;:::-;;;;;;;6763:6;:31;;;6795:6;:18;;;6763:51;;;;;;;;:::i;:::-;;;;;;:101;;;;;6884:6;:26;;;6879:276;;6975:165;7016:6;:27;;;7044:6;:8;;;7016:37;;;;;;;;:::i;:::-;;;;;;;7075:6;:27;;;7103:6;:18;;;7075:47;;;;;;;;:::i;:::-;;;;;;;6975:19;:165::i;:::-;-1:-1:-1;;;;;6930:21:457;;;;;;:14;:21;;;;;6952:19;;;;6930:42;;;;;;;;:::i;:::-;;;;;;;;;;:210;6879:276;7199:19;;;7197:21;;;;;;7236:13;;7248:1;7236:13;;;6108:1166;;;7312:1;7288:6;:21;;;:25;;;;:::i;:::-;:30;7284:863;;7382:1;7358:6;:21;;;:25;;;;:::i;:::-;7334:21;;;:49;;;7471:1;;7445:27;7425:16;;;:48;7505:26;;;;7501:214;;;7632:6;:45;;;7678:6;:21;;;7632:68;;;;;;;;:::i;:::-;;;;;;;7551:6;:31;;;7607:6;:21;;;7583:6;:21;;;:45;;;;:::i;:::-;7551:78;;;;;;;;:::i;:::-;;;;;;:149;;;;;7501:214;7785:6;:27;;;7813:6;:21;;;7785:50;;;;;;;;:::i;:::-;;;;;;;7728:6;:31;;;7760:6;:21;;;7728:54;;;;;;;;:::i;:::-;;;;;;:107;;;;;7854:6;:26;;;7849:288;;7982:140;8030:1;8054:6;:27;;;8082:6;:21;;;8054:50;;;;;;;;:::i;7982:140::-;-1:-1:-1;;;;;7940:21:457;;;;;;:14;:21;;;;;;;;7962:16;;;;7940:39;;;;;;;;:::i;:::-;;;;;;;;;;:182;7849:288;8393:6;:26;;;8389:201;;;8529:50;8551:6;:27;;;8529:21;:50::i;:::-;-1:-1:-1;;;;;8505:21:457;;;;;;:14;:21;;;;;;;;:74;;;;:21;;:74;;;;;;:::i;:::-;;8389:201;8600:44;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8600:44:457;8678:6;:13;;;8654:14;:21;;:37;;;;8732:6;:31;;;8701:14;:28;;:62;;;;8795:5;8773:14;:19;;:27;-1:-1:-1;;;;;8773:27:457;;;-1:-1:-1;;;;;8773:27:457;;;;;8929:61;8941:12;;8955:5;;8929:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8962:11:457;;-1:-1:-1;8962:11:457;;-1:-1:-1;8975:14:457;;-1:-1:-1;8929:11:457;:61::i;:::-;8896:30;;;:94;;;9131:198;;9210:12;;9243:20;;;;9131:198;;;;;9285:33;;9131:198;;:21;:198::i;:::-;9114:215;3828:5508;-1:-1:-1;;;;;;;;;;;;;;3828:5508:457:o;803:50:462:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11749:367:157:-;11799:13;11856:19;11852:23;;11848:104;;;11902:35;;;;;;;;6857:25:493;;;6830:18;;11902:35:157;6713:175:493;11848:104:157;11973:19;11969:23;;11965:103;;;12019:34;;;;;;;;6857:25:493;;;6830:18;;12019:34:157;6713:175:493;11965:103:157;-1:-1:-1;1815:4:157;12090:9;;11749:367::o;3001:506:462:-;3267:15;3234:22;:29;:48;3230:271;;3382:45;3404:22;3382:21;:45::i;:::-;-1:-1:-1;;;;;3351:28:462;;;;;;:14;:28;;;;;;;;:76;;;;:28;;:76;;;;;;:::i;3230:271::-;3458:32;;-1:-1:-1;;;3458:32:462;;9896:2:493;3458:32:462;;;9878:21:493;9935:2;9915:18;;;9908:30;9974:24;9954:18;;;9947:52;10016:18;;3458:32:462;9694:346:493;3230:271:462;3001:506;;;:::o;6433:239:451:-;6606:59;6619:12;6633:14;6649:15;6606:12;:59::i;14206:1061:419:-;14339:27;14413:18;14386:12;:19;14408:1;14386:23;;;;:::i;:::-;:45;;14378:66;;;;-1:-1:-1;;;14378:66:419;;10420:2:493;14378:66:419;;;10402:21:493;10459:1;10439:18;;;10432:29;10497:10;10477:18;;;10470:38;10525:18;;14378:66:419;10218:331:493;14378:66:419;14481:18;14468:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14468:32:419;;14454:46;;14510:16;14536:30;14591:1;14569:12;:19;:23;;;;:::i;:::-;14536:56;-1:-1:-1;14602:19:419;14624:22;14645:1;14624:18;:22;:::i;:::-;:27;;-1:-1:-1;14650:1:419;14661:451;14678:12;:19;14674:1;:23;14661:451;;;14761:3;14742:12;14755:1;14742:15;;;;;;;;:::i;:::-;;;;;;;:22;;14715:11;14727;14715:24;;;;;;;;:::i;:::-;;;;;;:49;;;;;14806:13;;;;;14853:14;14852:15;:48;;;;;14875:25;14871:1;:29;14852:48;14851:68;;;;14905:14;14851:68;14847:165;;;14980:12;14993:1;14980:15;;;;;;;;:::i;:::-;;;;;;;14966:31;;14939:11;14951;14939:24;;;;;;;;:::i;:::-;;;;;;:58;;;;;14847:165;15053:3;15074:13;;;;15053:3;14661:451;;;;15127:14;15122:139;;15209:12;15222:25;15209:39;;;;;;;;:::i;:::-;;;;;;;15195:55;;15157:11;15190:1;15169:18;:22;;;;:::i;:::-;15157:35;;;;;;;;:::i;:::-;;;;;;:93;;;;;15122:139;14368:899;;;14206:1061;;;;:::o;1183:1619:462:-;1395:15;1422:32;1470:15;1457:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1457:29:462;;1422:64;;1496:22;1528:7;1536:1;1528:10;;;;;;;;:::i;:::-;;;;;;;1521:18;;1496:43;;1549:21;1579:15;550:8;1573:21;;;;:::i;:::-;1549:45;;1608:7;:14;1626:1;1608:19;1604:1158;;1648:6;1643:466;1660:15;1656:1;:19;1643:466;;;1783:21;1807:18;1826:1;1807:21;;;;;;;;:::i;:::-;;;;;;;1783:45;;1943:80;550:8;1982:31;1998:14;1982:8;1991:1;1982:11;;;;;;;;:::i;:::-;;;;;;;:15;;:31;;;;:::i;:::-;1944:35;:14;1963:15;1944:18;:35::i;:::-;:69;;;;:::i;:::-;1943:75;;:80::i;:::-;1921:16;1938:1;1921:19;;;;;;;;:::i;:::-;;;;;;;;;;:102;-1:-1:-1;2073:3:462;;1643:466;;;;1604:1158;;;2144:6;2139:613;2156:15;2152:1;:19;2139:613;;;2250:7;2258:1;2250:10;;;;;;;;:::i;:::-;;;;;;;2243:18;;2225:36;;2306:15;550:8;2300:21;2283:38;;2357:21;2381:18;2400:1;2381:21;;;;;;;;:::i;:::-;;;;;;;2357:45;;2586:80;550:8;2625:31;2641:14;2625:8;2634:1;2625:11;;;;;;;;:::i;2586:80::-;2564:16;2581:1;2564:19;;;;;;;;:::i;:::-;;;;;;;;;;:102;-1:-1:-1;2716:3:462;;2139:613;;;;1604:1158;-1:-1:-1;2779:16:462;;1183:1619;-1:-1:-1;;;;;;1183:1619:462:o;1524:341:419:-;1611:13;1269:16;1645:18;;;;;1644:45;;-1:-1:-1;1269:16:419;1669:19;;;1644:45;1636:66;;;;-1:-1:-1;;;1636:66:419;;11182:2:493;1636:66:419;;;11164:21:493;11221:1;11201:18;;;11194:29;11259:10;11239:18;;;11232:38;11287:18;;1636:66:419;10980:331:493;1636:66:419;-1:-1:-1;;1721:18:419;;;;;1720:45;;-1:-1:-1;;;1745:19:419;;;1720:45;1712:67;;;;-1:-1:-1;;;1712:67:419;;11518:2:493;1712:67:419;;;11500:21:493;11557:1;11537:18;;;11530:29;11595:11;11575:18;;;11568:39;11624:18;;1712:67:419;11316:332:493;1712:67:419;-1:-1:-1;1825:32:419;;1854:3;1799:15;;;;1798:60;;1524:341::o;12310:1698::-;12458:19;;12394:27;;12458:19;12433:22;12575:24;;;12567:41;;;;-1:-1:-1;;;12567:41:419;;;;;;11855:2:493;11837:21;;;11894:1;11874:18;;;11867:29;11932:6;11927:2;11912:18;;11905:34;11971:2;11956:18;;11653:327;12567:41:419;12645:1;12623:12;:19;:23;;;;:::i;:::-;12650:1;12623:28;12619:1383;;12737:1;12716:17;12715:23;12695:43;;12793:17;12780:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12780:31:419;;12766:45;;12830:6;12825:270;12842:21;12862:1;12842:17;:21;:::i;:::-;12838:1;:25;12825:270;;;12913:57;12933:12;12946:1;12933:15;;;;;;;;:::i;:::-;;;;;;;12950:12;12963:1;12967;12963:5;;;;:::i;:::-;12950:19;;;;;;;;:::i;12913:57::-;12885:11;12897:12;12885:25;;;;;;;;:::i;:::-;;;;;;;;;;:85;13048:14;;;;;13025:1;13020:6;12825:270;;;;12619:1383;;;13125:20;13148:12;13183:1;13161:12;:19;:23;;;;:::i;:::-;13148:37;;;;;;;;:::i;:::-;;;;;;;13125:60;;-1:-1:-1;;13242:24:419;;13225:13;:41;;13224:90;;;;-1:-1:-1;13296:16:419;13272:41;;;13224:90;13199:176;;;;-1:-1:-1;;;13199:176:419;;12187:2:493;13199:176:419;;;12169:21:493;12226:2;12206:18;;;12199:30;12265:29;12245:18;;;12238:57;12312:18;;13199:176:419;11985:351:493;13199:176:419;13464:1;-1:-1:-1;;13439:21:419;;13438:27;13469:1;13437:33;13417:53;;13525:17;13512:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13512:31:419;-1:-1:-1;13498:45:419;-1:-1:-1;13557:30:419;13590:21;13610:1;13590:17;:21;:::i;:::-;13557:54;;13630:6;13625:274;13642:25;13638:1;:29;13625:274;;;13717:57;13737:12;13750:1;13737:15;;;;;;;;:::i;:::-;;;;;;;13754:12;13767:1;13771;13767:5;;;;:::i;13717:57::-;13689:11;13701:12;13689:25;;;;;;;;:::i;:::-;;;;;;;;;;:85;13852:14;;;;;13829:1;13824:6;13625:274;;;-1:-1:-1;13954:12:419;13967:21;13987:1;13967:17;:21;:::i;:::-;13954:35;;;;;;;;:::i;:::-;;;;;;;13940:51;;13912:11;13924:12;13912:25;;;;;;;;:::i;:::-;;;;;;:79;;;;;13111:891;;12619:1383;12423:1585;;;12310:1698;;;:::o;2690:3426:451:-;2912:35;2959:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2959:40:451;3024:11;;3036:1;3024:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3009:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3009:29:451;;;-1:-1:-1;;;3048:18:451;;;:26;;3314:22;;3310:98;;;1221:8;3373:11;;3385:1;3373:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3388:1;3373:17;;;;;;;:::i;:::-;;;;;;;;:24;;;;3352:18;;;:45;-1:-1:-1;3310:98:451;3418:30;;;:52;;;3501:50;3528:5;3418:15;3501:26;:50::i;:::-;3481:17;;;:70;3578:1;3567:8;;;:12;3562:869;3581:8;;;;:30;-1:-1:-1;3562:869:451;;;3650:15;:29;;;3680:6;:8;;;3650:39;;;;;;;;:::i;:::-;;;;;;;3629:6;:18;;:60;;;;;3707:6;:18;;;3703:93;;;3766:5;3772:6;:8;;;3766:15;;;;;;;;:::i;:::-;;;;;;;3745:6;:18;;:36;;;;;3703:93;4027:68;4066:6;:17;;;4084:6;:8;;;4066:27;;;;;;;;:::i;:::-;;;;;;;4027;4035:6;:18;;;1221:8;4027:7;;:27;;;;:::i;:::-;:31;;:68::i;:::-;3997:6;:17;;;4015:6;:8;;;3997:27;;;;;;;;:::i;:::-;;;;;;;;;;:98;4113:12;;:19;4136:1;4113:24;4109:246;;4187:6;:17;;;4205:6;:8;;;4187:27;;;;;;;;:::i;:::-;;;;;;;4157:6;:26;;:57;;;;;;;:::i;:::-;;;-1:-1:-1;4109:246:451;;;4284:55;4316:6;:12;;;4329:6;:8;;;4316:22;;;;;;;;:::i;:::-;;;;;;;4284:6;:17;;;4302:6;:8;;;4284:27;;;;;;;;:::i;:55::-;4253:6;:26;;:87;;;;;;;:::i;:::-;;;-1:-1:-1;4109:246:451;4398:8;;;4396:10;;;;;;3562:869;;;4588:12;4575:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:33:451;-1:-1:-1;4622:12:451;;:19;4553:55;;-1:-1:-1;4645:1:451;4622:24;4618:1455;;4662:26;;;:57;;4699:12;;4662:26;:57;;4699:12;;4662:57;:::i;:::-;;;-1:-1:-1;4820:1:451;4809:8;;;:12;4804:368;4823:8;;;;:30;-1:-1:-1;4804:368:451;;;4875:10;4941:85;4998:6;:17;;;5016:6;:8;;;4998:27;;;;;;;;:::i;:::-;;;;;;;4969:6;:26;;;:56;;;;:::i;:::-;4948:12;;:15;;:12;;:15;;;;:::i;4941:85::-;4895:12;;4908:6;:8;;;4895:22;;;;;;;:::i;:::-;;;;;;;4888:138;;;;:::i;:::-;4875:151;;5076:3;5044:19;5064:6;:8;;;5044:29;;;;;;;;:::i;:::-;;;;;;;;;;:35;-1:-1:-1;5131:8:451;;;5129:10;;;;;;4804:368;;;4618:1455;;;5218:1;5207:8;;;:12;5202:205;5232:12;;:19;5221:8;;;;:30;5202:205;;;5292:12;;5305:8;;;;5292:22;;;;;;;;:::i;:::-;;;;;;;5273:6;:15;;:41;;;;;;;:::i;:::-;;;-1:-1:-1;5366:8:451;;;5364:10;;;;;;5202:205;;;5481:15;;;;5450:26;;;;:47;;:30;:47::i;:::-;5421:26;;;:76;5540:1;5529:8;;;:12;5524:539;5543:8;;;;:30;-1:-1:-1;5524:539:451;;;5669:10;5735:92;5799:6;:17;;;5817:6;:8;;;5799:27;;;;;;;;:::i;:::-;;;;;;;5770:6;:26;;;:56;;;;:::i;:::-;5742:12;;5755:8;;;;5742:22;;;;;;;;:::i;5735:92::-;5689:12;;5702:6;:8;;;5689:22;;;;;;;:::i;:::-;;;;;;;5682:145;;;;:::i;:::-;5669:158;;5967:3;5935:19;5955:6;:8;;;5935:29;;;;;;;;:::i;:::-;;;;;;;;;;:35;-1:-1:-1;6022:8:451;;;6020:10;;;;;;5524:539;;;6083:26;2690:3426;;;;;;;;:::o;982:617:461:-;1185:33;1315:49;1329:8;1339:24;1315:13;:49::i;:::-;1304:60;;1532;1556:12;;1532:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1570:8:461;;-1:-1:-1;1580:11:461;;-1:-1:-1;1532:23:461;;-1:-1:-1;1532:60:461:i;:::-;1512:80;982:617;-1:-1:-1;;;;;;982:617:461:o;9511:949:460:-;-1:-1:-1;;;;;9646:39:460;;9627:16;9646:39;;;;;;;;;;:46;9734:21;;:40;;:510;;;;-1:-1:-1;9792:16:460;;;:116;;;9855:1;9831:14;:21;:25;;;;:::i;:::-;:30;:76;;;;;9896:11;9890:1;9866:14;:21;:25;;;;:::i;:::-;9865:42;9831:76;9792:451;;;;10186:1;10162:14;:21;:25;;;;:::i;:::-;:30;;;;:80;;;10231:11;10221:1;10197:14;:21;:25;;;;:::i;:::-;10196:31;;10226:1;10196:31;:::i;:::-;:46;10162:80;9730:724;;;10345:37;10367:14;10345:21;:37::i;:::-;-1:-1:-1;;;;;10303:39:460;;:26;:39;;;;;;;;;;;:79;;;;:39;;:79;;;;;;:::i;:::-;;9730:724;;;10413:30;;-1:-1:-1;;;10413:30:460;;12921:2:493;10413:30:460;;;12903:21:493;12960:2;12940:18;;;12933:30;12999:22;12979:18;;;12972:50;13039:18;;10413:30:460;12719:344:493;26141:789:157;26197:13;-1:-1:-1;;;26226:1:157;:16;:36;;;;-1:-1:-1;;;26246:1:157;:16;26226:36;26222:108;;;26285:34;;;;;;;;;;;;;;26222:108;26364:10;26388;26421:1;26417;:5;:32;;26447:1;26417:32;;;26434:1;26433:2;;26417:32;26412:37;;26472:1;26468;:5;:32;;26498:1;26468:32;;;26485:1;26484:2;;26468:32;26463:37;;26515:12;26530:32;26555:2;26559;26530:24;:32::i;:::-;26515:47;;966:78;26580:4;:27;26576:106;;;26634:33;;;;;;;;6857:25:493;;;6830:18;;26634:33:157;6713:175:493;26576:106:157;-1:-1:-1;;26777:17:157;;;;26817;;26870:7;;;26791:1;26870:12;:43;;26908:4;26870:43;;;26893:4;26885:13;;26870:43;26861:52;26141:789;-1:-1:-1;;;;;;;;26141:789:157:o;5389:1107::-;5445:13;-1:-1:-1;;;5474:1:157;:16;:36;;;;-1:-1:-1;;;5494:1:157;:16;5474:36;5470:108;;;5533:34;;;;;;;;;;;;;;5470:108;5643:10;5663;5716:1;5712;:5;:32;;5742:1;5712:32;;;5729:1;5728:2;;5712:32;5707:37;;5767:1;5763;:5;:32;;5793:1;5763:32;;;5780:1;5779:2;;5763:32;5758:37;;5906:12;5921:38;5936:2;1815:4;5956:2;5921:14;:38::i;:::-;5906:53;;966:78;5973:4;:27;5969:98;;;6023:33;;;;;;;;6857:25:493;;;6830:18;;6023:33:157;6713:175:493;5969:98:157;-1:-1:-1;;6183:17:157;;;;6219;;6446:7;;;6197:1;6446:12;:43;;6484:4;6446:43;;;6461:13;6469:4;6461:13;:::i;1936:7342:460:-;2086:15;2113:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:36:460;2193:15;:30;;;2180:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2180:44:460;-1:-1:-1;2159:18:460;;;:65;2333:20;;-1:-1:-1;;;;;2306:48:460;:26;:48;;;;;;;;;;;;2269:139;;;;;;;;;;;;;;;;;;;;;;2306:48;2269:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2368:15;:30;;;2269:23;:139::i;:::-;2234:32;;;:174;2499:30;;;;2474:22;;2499:34;;2532:1;;2499:34;:::i;:::-;2537:1;2499:39;;2474:64;;2548:27;2611:1;2578:15;:30;;;:34;;;;:::i;:::-;2548:64;;2622:22;2654:15;:22;;;2677:1;2654:25;;;;;;;;:::i;:::-;;;;;;;2647:33;;2622:58;;2690:21;2720:15;623:8;2714:21;;;;:::i;:::-;2690:45;;2836:15;:22;;;:29;2869:1;2836:34;2832:6404;;2933:46;2963:15;2933:25;:14;761:8;2933:18;:25::i;:46::-;2914:65;;2998:88;;;;-1:-1:-1;;3043:24:460;;;;2998:88;3458:6;3453:1468;3470:22;3466:1;:26;3453:1468;;;3706:68;3759:14;3721:15;:29;;;3751:1;3721:32;;;;;;;;:::i;:::-;;;;;;;3707:8;3716:1;3707:11;;;;;;;;:::i;:::-;;;;;;;:46;;;;:::i;3706:68::-;3627:56;3647:6;:32;;;3680:1;3647:35;;;;;;;;:::i;:::-;;;;;;;3627:15;:19;;:56;;;;:::i;:::-;:147;;;;:::i;:::-;3580:24;;;:194;;;3793:32;;;;:35;;3826:1;;3793:35;;;;;;:::i;:::-;;;;;;;;;;;:62;;;;3918:24;;;3897:16;;:46;;:20;:46::i;:::-;3873:6;:18;;;3892:1;3873:21;;;;;;;;:::i;:::-;;;;;;;;;;:70;4019:1;4015:5;;3994:18;;;;:26;;;4238:29;;;:49;;4206:148;;4318:14;;4238:29;:49;;;;;;:::i;:::-;;;;;;;4207:8;4216:6;:18;;;4207:28;;;;;;;;:::i;4206:148::-;4110:73;4130:6;:32;;;4163:6;:18;;;4130:52;;;;;;;;:::i;4110:73::-;:244;;;;:::i;:::-;4057:30;;;:297;;;4414:16;;:52;;:20;:52::i;:::-;4373:6;:18;;;4392:6;:18;;;4373:38;;;;;;;;:::i;:::-;;;;;;:93;;;;;4562:146;4603:6;:32;;;4636:1;4603:35;;;;;;;;:::i;:::-;;;;;;;4660:6;:30;;;4562:19;:146::i;:::-;4512:20;;-1:-1:-1;;;;;4485:48:460;:26;:48;;;;;;;;;;4534:24;;;;4485:74;;;;;;;;:::i;:::-;;;;;;;;;;:223;4864:24;;;4862:26;;;;;;4839:1;4834:6;3453:1468;;;;5013:17;5009:812;;;5082:24;;;;;5290:156;5410:14;5326:15;:29;;;5356:22;5326:53;;;;;;;;:::i;:::-;;;;;;;5291:8;5300:22;5291:32;;;;;;;;:::i;5290:156::-;5190:77;5210:6;:32;;;5243:22;5210:56;;;;;;;;:::i;:::-;;;;;;;5190:15;:19;;:77;;;;:::i;:::-;:256;;;;:::i;:::-;5143:24;;;:303;;;5582:114;;5630:1;;5582:19;:114::i;:::-;5532:20;;-1:-1:-1;;;;;5505:48:460;:26;:48;;;;;;;;;;5554:24;;;;5505:74;;;;;;;;:::i;:::-;;;;;;;;;;;:191;;;;5781:24;;;5760:16;;:46;;:20;:46::i;:::-;5715:6;:18;;;5734:22;5715:42;;;;;;;;:::i;:::-;;;;;;:91;;;;;5009:812;2832:6404;;;6048:17;6044:80;;;6085:24;;;:::i;:::-;;;6044:80;6143:6;6138:1929;6155:22;6151:1;:26;6138:1929;;;6256:15;:22;;;6279:1;6256:25;;;;;;;;:::i;:::-;;;;;;;6249:33;;6231:51;;6327:15;623:8;6321:21;6304:38;;6383:46;6413:15;6383:25;761:8;6383:14;:18;;:25;;;;:::i;:46::-;6364:65;;6673:29;;;;:32;;6658:68;;6711:14;;6703:1;;6673:32;;;;;;:::i;6658:68::-;6579:56;6599:6;:32;;;6632:1;6599:35;;;;;;;;:::i;6579:56::-;:147;;;;:::i;:::-;6532:24;;;:194;;;6745:32;;;;:35;;6778:1;;6745:35;;;;;;:::i;:::-;;;;;;;;;;;:62;;;;6870:24;;;6849:16;;:46;;:20;:46::i;:::-;6825:6;:18;;;6844:1;6825:21;;;;;;;;:::i;:::-;;;;;;;;;;:70;6971:1;6967:5;;6946:18;;;:26;;;7019:22;;;;:42;;:22;;6967:5;7019:42;;;;;;:::i;:::-;;;;;;;7012:50;;6994:68;;7107:15;623:8;7101:21;7084:38;;7163:46;7193:15;7163:25;761:8;7163:14;:18;;:25;;;;:::i;:46::-;7144:65;;7427:29;;;;;7457:18;;;;7427:49;;7395:148;;7507:14;;7427:29;;:49;;;;;;:::i;7395:148::-;7299:73;7319:6;:32;;;7352:6;:18;;;7319:52;;;;;;;;:::i;7299:73::-;:244;;;;:::i;:::-;7246:30;;;:297;;;7603:16;;:52;;:20;:52::i;:::-;7562:6;:18;;;7581:6;:18;;;7562:38;;;;;;;;:::i;:::-;;;;;;:93;;;;;7784:146;7825:6;:32;;;7858:1;7825:35;;;;;;;;:::i;7784:146::-;7734:20;;-1:-1:-1;;;;;7707:48:460;:26;:48;;;;;;;;;;7756:24;;;;7707:74;;;;;;;;:::i;:::-;;;;;;;;;;:223;8010:24;;;8008:26;;;;;;7985:1;7980:6;6138:1929;;;;8161:17;8157:1069;;;8230:24;;;;;8301:15;:22;;;8324;8301:46;;;;;;;;:::i;:::-;;;;;;;8294:54;;8276:72;;8393:15;623:8;8387:21;8370:38;;8449:46;8479:15;8449:25;761:8;8449:14;:18;;:25;;;;:::i;:46::-;8430:65;;8715:29;;;;:53;;8679:156;;8799:14;;8745:22;;8715:53;;;;;;:::i;8679:156::-;8579:77;8599:6;:32;;;8632:22;8599:56;;;;;;;;:::i;8579:77::-;:256;;;;:::i;:::-;8532:24;;;:303;;;8899:16;;:46;;:20;:46::i;:::-;8854:6;:18;;;8873:22;8854:42;;;;;;;;:::i;:::-;;;;;;:91;;;;;9097:114;9145:1;9169:6;:24;;;9097:19;:114::i;:::-;9047:20;;-1:-1:-1;;;;;9020:48:460;:26;:48;;;;;;;;;;9069:24;;;;9020:74;;;;;;;;:::i;:::-;;;;;;;;;;:191;8157:1069;-1:-1:-1;;;;9253:18:460;;;;;-1:-1:-1;;;1936:7342:460:o;1990:1502:461:-;2188:15;;2117;;2237:1;2221:17;;;2217:71;;2265:8;2258:15;;;;;2217:71;2301:18;2322:24;2301:45;;2360:18;2404:81;2460:24;2404:51;2452:1;2434:8;:15;:19;2404:22;:51::i;:81::-;439:8;2381:105;;;;-1:-1:-1;2500:24:461;;2581:503;2598:12;2594:1;:16;2581:503;;;2653:11;2639:8;2648:1;2639:11;;;;;;;;:::i;:::-;;;;;;;:25;2635:435;;;2702:11;2688:8;2697:1;2688:11;;;;;;;;:::i;:::-;;;;;;:25;;;;;2756:11;2735:32;;;;2635:435;;;2810:11;2796:8;2805:1;2796:11;;;;;;;;:::i;:::-;;;;;;;:25;2792:278;;;2859:11;2845:8;2854:1;2845:11;;;;;;;;:::i;:::-;;;;;;;;;;:25;2892:30;;;;2792:278;;;3040:8;3049:1;3040:11;;;;;;;;:::i;:::-;;;;;;;3021:30;;;;2792:278;2612:3;;2581:503;;;-1:-1:-1;3101:20:461;;3097:354;;3141:28;3172:38;:17;3194:15;3172:21;:38::i;:::-;3141:69;;3233:6;3228:209;3245:12;3241:1;:16;3228:209;;;3305:11;3290:8;3299:1;3290:11;;;;;;;;:::i;:::-;;;;;;;:26;3286:133;;3358:38;3374:21;3358:8;3367:1;3358:11;;;;;;;;:::i;:38::-;3344:8;3353:1;3344:11;;;;;;;;:::i;:::-;;;;;;:52;;;;;3286:133;3259:3;;3228:209;;;;3123:328;3097:354;-1:-1:-1;3477:8:461;;1990:1502;-1:-1:-1;;;;;;1990:1502:461:o;3783:3486::-;3948:15;4021:11;3999:19;4046:435;4063:12;:19;4059:1;:23;4046:435;;;4107:16;4163:11;4175:1;4163:14;;;;;;;;:::i;:::-;;;;;;;4145:12;4158:1;4145:15;;;;;;;;:::i;:::-;;;;;;;:32;4141:214;;;4231:11;4243:1;4231:14;;;;;;;;:::i;:::-;;;;;;;4213:12;4226:1;4213:15;;;;;;;;:::i;:::-;;;;;;;:32;4201:44;;4141:214;;;4321:12;4334:1;4321:15;;;;;;;;:::i;:::-;;;;;;;4304:11;4316:1;4304:14;;;;;;;;:::i;:::-;;;;;;;:32;4292:44;;4141:214;4388:12;4376:9;:24;4372:95;;;4439:9;4424:24;;4372:95;-1:-1:-1;4084:3:461;;4046:435;;;;4494:20;4528:19;4561:16;4591:25;4630:22;4685:11;4670:12;:26;4666:1484;;;4716:20;4739:29;:11;4755:12;4739:15;:29::i;:::-;4716:52;;4791:6;4786:735;4803:11;:18;4799:1;:22;4786:735;;;4850:15;4868:53;4907:13;4886:12;4899:1;4886:15;;;;;;;;:::i;:::-;;;;;;;4869:11;4881:1;4869:14;;;;;;;;:::i;:::-;;;;;;;:32;4868:38;;:53;;;;:::i;:::-;4850:71;;4978:8;4960:12;4973:1;4960:15;;;;;;;;:::i;:::-;;;;;;;:26;4943:11;4955:1;4943:14;;;;;;;;:::i;:::-;;;;;;:43;;;;;5025:11;5037:1;5025:14;;;;;;;;:::i;:::-;;;;;;;5008:31;;;;5082:9;5065:11;5077:1;5065:14;;;;;;;;:::i;:::-;;;;;;;:26;5061:442;;;5137:9;5119:27;;5195:14;5172:37;;5247:11;5259:1;5247:14;;;;;;;;:::i;:::-;;;;;;;5235:26;;5304:1;5287:18;;5061:442;;;5355:15;5338:11;5350:1;5338:14;;;;;;;;:::i;:::-;;;;;;;:32;5334:169;;;5416:11;5428:1;5416:14;;;;;;;;:::i;:::-;;;;;;;5398:32;;5479:1;5456:24;;5334:169;-1:-1:-1;4823:3:461;;4786:735;;;;4698:837;4666:1484;;;5564:6;5559:577;5576:11;:18;5572:1;:22;5559:577;;;5640:11;5652:1;5640:14;;;;;;;;:::i;:::-;;;;;;;5623:31;;;;5697:9;5680:11;5692:1;5680:14;;;;;;;;:::i;:::-;;;;;;;:26;5676:442;;;5752:9;5734:27;;5810:14;5787:37;;5862:11;5874:1;5862:14;;;;;;;;:::i;:::-;;;;;;;5850:26;;5919:1;5902:18;;5676:442;;;5970:15;5953:11;5965:1;5953:14;;;;;;;;:::i;:::-;;;;;;;:32;5949:169;;;6031:11;6043:1;6031:14;;;;;;;;:::i;:::-;;;;;;;6013:32;;6094:1;6071:24;;5949:169;5596:3;;5559:577;;;;4666:1484;439:8;6889:13;:20;6886:339;;439:8;6931:13;:19;6928:283;;;439:8;7034:13;:19;7003:11;7015:14;7003:27;;;;;;;;:::i;:::-;;;;;;;:51;6973:11;6985:14;6973:27;;;;;;;;:::i;:::-;;;;;;:81;;;;;6928:283;;;7178:13;439:8;7172:19;7135:11;7147:20;7135:33;;;;;;;;:::i;:::-;;;;;;;:57;7099:11;7111:20;7099:33;;;;;;;;:::i;:::-;;;;;;:93;;;;;6928:283;3975:3260;;;;;;7251:11;7244:18;;3783:3486;;;;;;:::o;20191:1149:156:-;20262:14;;;-1:-1:-1;;20377:1:156;20374;20367:20;20416:1;20413;20409:9;20400:18;;20467:5;20463:2;20460:13;20452:5;20448:2;20444:14;20440:34;20431:43;;;4210:4;20498:5;:14;20494:92;;20535:40;;;;;;;;6857:25:493;;;6830:18;;20535:40:156;6713:175:493;20494:92:156;20596:17;20623:19;20701:5;20698:1;20695;20688:19;20675:32;;20749:18;20738:9;20735:33;20720:48;;20792:5;20801:1;20792:10;20788:152;;20873:11;4210:4;20856:5;:13;20855:29;20846:38;;20902:13;;;;;;20788:152;21189:11;21061:21;;;21057:39;21137:20;;;;21126:32;;;21160:45;21122:84;21029:199;;;;21250:13;21004:277;20983:341;;-1:-1:-1;20191:1149:156;;;;:::o;15079:3983::-;15191:14;;;-1:-1:-1;;15680:1:156;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;;;;;;;13761:25:493;;;13802:18;;;13795:34;;;13734:18;;16135:43:156;13587:248:493;16088:101:156;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:1;:15;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;;;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;;-1:-1:-1;;;;15079:3983:156:o;27710:220:157:-;27766:13;27795:1;27800;27795:6;27791:133;;27826:6;;:26;;27850:1;27826:26;;;1815:4;27826:26;27817:35;;27791:133;;;27892:21;27897:15;27901:7;27906:1;27901:4;:7::i;:::-;27910:1;27897:3;:15::i;:::-;27892:4;:21::i;23382:1887::-;23429:13;23463:1;23458;:6;23454:79;;23487:35;;;;;;;;6857:25:493;;;6830:18;;23487:35:157;6713:175:493;23454:79:157;23622:11;1815:4;23651:1;:10;23647:321;;-1:-1:-1;23688:1:157;23647:321;;;-1:-1:-1;;23728:9:157;;23934:1;23895:37;23891:45;23886:50;;23647:321;24104:9;24116:46;1815:4;24151:1;:9;24116:26;:46::i;:::-;1815:4;24393:17;;;-1:-1:-1;24104:58:157;-1:-1:-1;24475:6:157;;;-1:-1:-1;;24554:10:157;;24550:69;;-1:-1:-1;;24591:13:157;;23382:1887;-1:-1:-1;23382:1887:157:o;24550:69::-;825:4;24809:416;24857:1;24849:5;:9;24809:416;;;1815:4;24896:5;;;24895:15;;-1:-1:-1;24995:9:157;24990:14;;24986:225;;25091:15;;;;25191:1;25185:7;;;;;24986:225;24870:1;24860:11;24809:416;;;-1:-1:-1;;;25238:14:157;;23382:1887;-1:-1:-1;23382:1887:157:o;8486:1074::-;8533:13;8612:1;8608;:5;8604:950;;;-1:-1:-1;;8740:1:157;:26;8736:73;;;-1:-1:-1;8793:1:157;;8486:1074;-1:-1:-1;8486:1074:157:o;8736:73::-;8963:8;8969:1;8968:2;;8963:4;:8::i;:::-;8956:4;:15;;;;;:::i;:::-;;;8486:1074;-1:-1:-1;;8486:1074:157:o;8604:950::-;9121:6;9116:1;:11;9112:91;;9154:34;;;;;;;;6857:25:493;;;6830:18;;9154:34:157;6713:175:493;9112:91:157;1815:4;9345:2;9331:16;;;9330:35;9507:21;9330:35;9507:12;:21::i;:::-;9491:38;;9217:327;8604:950;8486:1074;;;:::o;13747:744:156:-;13809:11;13841:6;13836:1;:11;13832:75;;13869:3;13863:9;;;;13886:10;;;;:::i;:::-;;;13832:75;13925:5;13920:1;:10;13916:72;;13952:2;13946:8;;;;13968:9;;;;:::i;:::-;;;13916:72;14006:5;14001:1;:10;13997:72;;14033:2;14027:8;;;;14049:9;;;;:::i;:::-;;;13997:72;14087:5;14082:1;:10;14078:72;;14114:2;14108:8;;;;14130:9;;;;:::i;:::-;;;14078:72;14168:4;14163:1;:9;14159:69;;14194:1;14188:7;;;;14209:8;;;;:::i;:::-;;;14159:69;14246:4;14241:1;:9;14237:69;;14272:1;14266:7;;;;14287:8;;;;:::i;:::-;;;14237:69;14324:4;14319:1;:9;14315:69;;14350:1;14344:7;;;;14365:8;;;;:::i;:::-;;;14315:69;14402:4;14397:1;:9;14393:92;;14466:8;14473:1;14466:8;;:::i;4886:8474::-;5061:50;5355:18;5351:22;;:26;5347:110;;5416:19;5407:28;5440:2;5406:36;5347:110;5478:18;5474:22;;:26;5470:110;;5539:19;5530:28;5563:2;5529:36;5470:110;5601:18;5597:22;;:26;5593:110;;5662:19;5653:28;5686:2;5652:36;5593:110;5724:18;5720:22;;:26;5716:110;;5785:19;5776:28;5809:2;5775:36;5716:110;5847:17;5843:21;;:25;5839:109;;5907:19;5898:28;5931:2;5897:36;5839:109;5969:17;5965:21;;:25;5961:109;;6029:19;6020:28;6053:2;6019:36;5961:109;6091:17;6087:21;;:25;6083:109;;6151:19;6142:28;6175:2;6141:36;6083:109;6213:17;6209:21;;:25;6205:109;;6273:19;6264:28;6297:2;6263:36;6205:109;6335:16;6331:20;;:24;6327:108;;6394:19;6385:28;6418:2;6384:36;6327:108;6456:16;6452:20;;:24;6448:108;;6515:19;6506:28;6539:2;6505:36;6448:108;6577:16;6573:20;;:24;6569:108;;6636:19;6627:28;6660:2;6626:36;6569:108;6698:16;6694:20;;:24;6690:108;;6757:19;6748:28;6781:2;6747:36;6690:108;6819:15;6815:19;;:23;6811:107;;6877:19;6868:28;6901:2;6867:36;6811:107;6939:15;6935:19;;:23;6931:107;;6997:19;6988:28;7021:2;6987:36;6931:107;7059:15;7055:19;;:23;7051:107;;7117:19;7108:28;7141:2;7107:36;7051:107;7179:15;7175:19;;:23;7171:107;;7237:19;7228:28;7261:2;7227:36;7171:107;7299:14;7295:18;;:22;7291:106;;7356:19;7347:28;7380:2;7346:36;7291:106;7418:14;7414:18;;:22;7410:106;;7475:19;7466:28;7499:2;7465:36;7410:106;7537:14;7533:18;;:22;7529:106;;7594:19;7585:28;7618:2;7584:36;7529:106;7656:14;7652:18;;:22;7648:106;;7713:19;7704:28;7737:2;7703:36;7648:106;7775:13;7771:17;;:21;7767:105;;7831:19;7822:28;7855:2;7821:36;7767:105;7893:13;7889:17;;:21;7885:105;;7949:19;7940:28;7973:2;7939:36;7885:105;8011:13;8007:17;;:21;8003:105;;8067:19;8058:28;8091:2;8057:36;8003:105;8129:13;8125:17;;:21;8121:105;;8185:19;8176:28;8209:2;8175:36;8121:105;8247:12;8243:16;;:20;8239:104;;8302:19;8293:28;8326:2;8292:36;8239:104;8364:12;8360:16;;:20;8356:104;;8419:19;8410:28;8443:2;8409:36;8356:104;8481:12;8477:16;;:20;8473:104;;8536:19;8527:28;8560:2;8526:36;8473:104;8598:12;8594:16;;:20;8590:104;;8653:19;8644:28;8677:2;8643:36;8590:104;8715:11;8711:15;;:19;8707:103;;8769:19;8760:28;8793:2;8759:36;8707:103;8831:11;8827:15;;:19;8823:103;;8885:19;8876:28;8909:2;8875:36;8823:103;8947:11;8943:15;;:19;8939:103;;9001:19;8992:28;9025:2;8991:36;8939:103;9063:11;9059:15;;:19;9055:103;;9117:19;9108:28;9141:2;9107:36;9055:103;9179:10;9175:14;;:18;9171:102;;9232:19;9223:28;9256:2;9222:36;9171:102;9294:10;9290:14;;:18;9286:102;;9347:19;9338:28;9371:2;9337:36;9286:102;9409:10;9405:14;;:18;9401:102;;9462:19;9453:28;9486:2;9452:36;9401:102;9524:10;9520:14;;:18;9516:102;;9577:19;9568:28;9601:2;9567:36;9516:102;9639:9;9635:13;;:17;9631:101;;9691:19;9682:28;9715:2;9681:36;9631:101;9753:9;9749:13;;:17;9745:101;;9805:19;9796:28;9829:2;9795:36;9745:101;9867:9;9863:13;;:17;9859:101;;9919:19;9910:28;9943:2;9909:36;9859:101;9981:9;9977:13;;:17;9973:101;;10033:19;10024:28;10057:2;10023:36;9973:101;10095:8;10091:12;;:16;10087:100;;10146:19;10137:28;10170:2;10136:36;10087:100;10208:8;10204:12;;:16;10200:100;;10259:19;10250:28;10283:2;10249:36;10200:100;10321:8;10317:12;;:16;10313:100;;10372:19;10363:28;10396:2;10362:36;10313:100;10434:8;10430:12;;:16;10426:100;;10485:19;10476:28;10509:2;10475:36;10426:100;10547:7;10543:11;;:15;10539:99;;10597:19;10588:28;10621:2;10587:36;10539:99;10659:7;10655:11;;:15;10651:99;;10709:19;10700:28;10733:2;10699:36;10651:99;10771:7;10767:11;;:15;10763:99;;10821:19;10812:28;10845:2;10811:36;10763:99;10883:7;10879:11;;:15;10875:99;;10933:19;10924:28;10957:2;10923:36;10875:99;10995:6;10991:10;;:14;10987:98;;11044:19;11035:28;11068:2;11034:36;10987:98;11106:6;11102:10;;:14;11098:98;;11155:19;11146:28;11179:2;11145:36;11098:98;11217:6;11213:10;;:14;11209:98;;11266:19;11257:28;11290:2;11256:36;11209:98;11328:6;11324:10;;:14;11320:98;;11377:19;11368:28;11401:2;11367:36;11320:98;11439:5;11435:9;;:13;11431:97;;11487:19;11478:28;11511:2;11477:36;11431:97;11549:5;11545:9;;:13;11541:97;;11597:19;11588:28;11621:2;11587:36;11541:97;11659:5;11655:9;;:13;11651:97;;11707:19;11698:28;11731:2;11697:36;11651:97;11769:5;11765:9;;:13;11761:97;;11817:19;11808:28;11841:2;11807:36;11761:97;11879:4;11875:8;;:12;11871:96;;11926:19;11917:28;11950:2;11916:36;11871:96;11988:4;11984:8;;:12;11980:96;;12035:19;12026:28;12059:2;12025:36;11980:96;12097:4;12093:8;;:12;12089:96;;12144:19;12135:28;12168:2;12134:36;12089:96;12206:4;12202:8;;:12;12198:96;;12253:19;12244:28;12277:2;12243:36;12198:96;12315:3;12311:7;;:11;12307:95;;12361:19;12352:28;12385:2;12351:36;12307:95;12423:3;12419:7;;:11;12415:95;;12469:19;12460:28;12493:2;12459:36;12415:95;12531:3;12527:7;;:11;12523:95;;12577:19;12568:28;12601:2;12567:36;12523:95;12639:3;12635:7;;:11;12631:95;;12685:19;12676:28;12709:2;12675:36;12631:95;4210:4;13286:15;13339:2;13334:7;;;;13327:3;:15;13315:28;;4886:8474::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:418:493;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:385::-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:493;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;795:3;788:4;778:6;775:1;771:14;763:6;759:27;755:38;752:47;749:67;;;812:1;809;802:12;749:67;437:385;;;;;:::o;827:481::-;939:6;947;1000:2;988:9;979:7;975:23;971:32;968:52;;;1016:1;1013;1006:12;968:52;1056:9;1043:23;1089:18;1081:6;1078:30;1075:50;;;1121:1;1118;1111:12;1075:50;1160:88;1240:7;1231:6;1220:9;1216:22;1160:88;:::i;:::-;1267:8;;1134:114;;-1:-1:-1;827:481:493;-1:-1:-1;;;;827:481:493:o;1505:226::-;1564:6;1617:2;1605:9;1596:7;1592:23;1588:32;1585:52;;;1633:1;1630;1623:12;1585:52;-1:-1:-1;1678:23:493;;1505:226;-1:-1:-1;1505:226:493:o;1736:196::-;1804:20;;-1:-1:-1;;;;;1853:54:493;;1843:65;;1833:93;;1922:1;1919;1912:12;1937:184;-1:-1:-1;;;1986:1:493;1979:88;2086:4;2083:1;2076:15;2110:4;2107:1;2100:15;2126:953;2179:5;2232:3;2225:4;2217:6;2213:17;2209:27;2199:55;;2250:1;2247;2240:12;2199:55;2290:6;2277:20;2320:18;2312:6;2309:30;2306:56;;;2342:18;;:::i;:::-;2388:6;2385:1;2381:14;2424:2;2418:9;2487:2;2483:7;2478:2;2474;2470:11;2466:25;2458:6;2454:38;2558:6;2546:10;2543:22;2522:18;2510:10;2507:34;2504:62;2501:88;;;2569:18;;:::i;:::-;2605:2;2598:22;2655;;;2705:4;2737:15;;;2733:26;;;2655:22;2693:17;;2771:15;;;2768:35;;;2799:1;2796;2789:12;2768:35;2835:4;2827:6;2823:17;2812:28;;2849:200;2865:6;2860:3;2857:15;2849:200;;;2957:17;;2987:18;;3034:4;2882:14;;;;3025;2849:200;;;-1:-1:-1;3067:6:493;2126:953;-1:-1:-1;;;;;2126:953:493:o;3084:775::-;3218:6;3226;3234;3242;3295:3;3283:9;3274:7;3270:23;3266:33;3263:53;;;3312:1;3309;3302:12;3263:53;3335:29;3354:9;3335:29;:::i;:::-;3325:39;;3415:2;3404:9;3400:18;3387:32;3442:18;3434:6;3431:30;3428:50;;;3474:1;3471;3464:12;3428:50;3497:60;3549:7;3540:6;3529:9;3525:22;3497:60;:::i;:::-;3487:70;;;3610:2;3599:9;3595:18;3582:32;3639:18;3629:8;3626:32;3623:52;;;3671:1;3668;3661:12;3623:52;3694:62;3748:7;3737:8;3726:9;3722:24;3694:62;:::i;:::-;3084:775;;;;-1:-1:-1;3684:72:493;;3825:2;3810:18;3797:32;;-1:-1:-1;;;3084:775:493:o;3864:171::-;3931:20;;3991:18;3980:30;;3970:41;;3960:69;;4025:1;4022;4015:12;4040:1749;4282:6;4290;4298;4306;4314;4322;4330;4338;4346;4354;4362:7;4416:3;4404:9;4395:7;4391:23;4387:33;4384:53;;;4433:1;4430;4423:12;4384:53;4473:9;4460:23;4506:18;4498:6;4495:30;4492:50;;;4538:1;4535;4528:12;4492:50;4577:88;4657:7;4648:6;4637:9;4633:22;4577:88;:::i;:::-;4684:8;;-1:-1:-1;4551:114:493;-1:-1:-1;;4772:2:493;4757:18;;4744:32;4801:18;4788:32;;4785:52;;;4833:1;4830;4823:12;4785:52;4872:90;4954:7;4943:8;4932:9;4928:24;4872:90;:::i;:::-;4981:8;;-1:-1:-1;4846:116:493;-1:-1:-1;5035:38:493;;-1:-1:-1;5069:2:493;5054:18;;5035:38;:::i;:::-;5025:48;;5126:2;5115:9;5111:18;5098:32;5155:18;5145:8;5142:32;5139:52;;;5187:1;5184;5177:12;5139:52;5226:90;5308:7;5297:8;5286:9;5282:24;5226:90;:::i;:::-;5335:8;;-1:-1:-1;5200:116:493;-1:-1:-1;;5423:3:493;5408:19;;5395:33;5453:18;5440:32;;5437:52;;;5485:1;5482;5475:12;5437:52;5524:90;5606:7;5595:8;5584:9;5580:24;5524:90;:::i;:::-;5633:8;;-1:-1:-1;5498:116:493;-1:-1:-1;5687:38:493;;-1:-1:-1;5720:3:493;5705:19;;5687:38;:::i;:::-;5677:48;;5745:38;5778:3;5767:9;5763:19;5745:38;:::i;:::-;5734:49;;4040:1749;;;;;;;;;;;;;;:::o;5794:609::-;5982:2;5994:21;;;6064:13;;5967:18;;;6086:22;;;5934:4;;6165:15;;;6139:2;6124:18;;;5934:4;6208:169;6222:6;6219:1;6216:13;6208:169;;;6283:13;;6271:26;;6326:2;6352:15;;;;6317:12;;;;6244:1;6237:9;6208:169;;;-1:-1:-1;6394:3:493;;5794:609;-1:-1:-1;;;;;5794:609:493:o;6408:300::-;6476:6;6484;6537:2;6525:9;6516:7;6512:23;6508:32;6505:52;;;6553:1;6550;6543:12;6505:52;6576:29;6595:9;6576:29;:::i;:::-;6566:39;6674:2;6659:18;;;;6646:32;;-1:-1:-1;;;6408:300:493:o;6893:437::-;6972:1;6968:12;;;;7015;;;7036:61;;7090:4;7082:6;7078:17;7068:27;;7036:61;7143:2;7135:6;7132:14;7112:18;7109:38;7106:218;;-1:-1:-1;;;7177:1:493;7170:88;7281:4;7278:1;7271:15;7309:4;7306:1;7299:15;7106:218;;6893:437;;;:::o;7335:184::-;-1:-1:-1;;;7384:1:493;7377:88;7484:4;7481:1;7474:15;7508:4;7505:1;7498:15;7524:544;7616:4;7622:6;7682:11;7669:25;7776:2;7772:7;7761:8;7745:14;7741:29;7737:43;7717:18;7713:68;7703:96;;7795:1;7792;7785:12;7703:96;7822:33;;7874:20;;;-1:-1:-1;7917:18:493;7906:30;;7903:50;;;7949:1;7946;7939:12;7903:50;7982:4;7970:17;;-1:-1:-1;8033:1:493;8029:14;;;8013;8009:35;7999:46;;7996:66;;;8058:1;8055;8048:12;8747:184;-1:-1:-1;;;8796:1:493;8789:88;8896:4;8893:1;8886:15;8920:4;8917:1;8910:15;8936:128;9003:9;;;9024:11;;;9021:37;;;9038:18;;:::i;9069:184::-;9127:6;9180:2;9168:9;9159:7;9155:23;9151:32;9148:52;;;9196:1;9193;9186:12;9148:52;9219:28;9237:9;9219:28;:::i;9258:184::-;-1:-1:-1;;;9307:1:493;9300:88;9407:4;9404:1;9397:15;9431:4;9428:1;9421:15;9447:112;9479:1;9505;9495:35;;9510:18;;:::i;:::-;-1:-1:-1;9544:9:493;;9447:112::o;9564:125::-;9629:9;;;9650:10;;;9647:36;;;9663:18;;:::i;10045:168::-;10118:9;;;10149;;10166:15;;;10160:22;;10146:37;10136:71;;10187:18;;:::i;10554:200::-;10620:9;;;10593:4;10648:9;;10676:10;;10688:12;;;10672:29;10711:12;;;10703:21;;10669:56;10666:82;;;10728:18;;:::i;:::-;10666:82;10554:200;;;;:::o;10759:216::-;10823:9;;;10851:11;;;10798:3;10881:9;;10909:10;;10905:19;;10934:10;;10926:19;;10902:44;10899:70;;;10949:18;;:::i;:::-;10899:70;;10759:216;;;;:::o;12341:248::-;12380:1;12406;12396:35;;12411:18;;:::i;:::-;-1:-1:-1;;;12447:73:493;;-1:-1:-1;;12522:13:493;;12443:93;12440:119;;;12539:18;;:::i;:::-;-1:-1:-1;12573:10:493;;12341:248::o;12594:120::-;12634:1;12660;12650:35;;12665:18;;:::i;:::-;-1:-1:-1;12699:9:493;;12594:120::o;13250:191::-;13285:3;-1:-1:-1;;;13309:5:493;13306:77;13303:103;;13386:18;;:::i;:::-;-1:-1:-1;13426:1:493;13422:13;;13250:191::o;13446:136::-;13485:3;13513:5;13503:39;;13522:18;;:::i;:::-;-1:-1:-1;;;13558:18:493;;13446:136::o","linkReferences":{},"immutableReferences":{"203600":[{"start":971,"length":32},{"start":1127,"length":32}]}},"methodIdentifiers":{"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)":"b9579b0d","initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":"44a01eb3","movingAverages(address,uint256)":"fe8cb6d7","name()":"06fdde03","parameterDescriptions(uint256)":"33417d8e","validParameters(int256[][])":"0df61b8f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_updateWeightRunner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"PRBMathSD59x18__DivInputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rAbs\",\"type\":\"uint256\"}],\"name\":\"PRBMathSD59x18__DivOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__Exp2InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__FromIntOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__FromIntUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__LogInputTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRBMathSD59x18__MulInputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rAbs\",\"type\":\"uint256\"}],\"name\":\"PRBMathSD59x18__MulOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivFixedPointOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"_prevWeights\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"_data\",\"type\":\"int256[]\"},{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"int256[][]\",\"name\":\"_parameters\",\"type\":\"int256[][]\"},{\"internalType\":\"uint64[]\",\"name\":\"_lambdaStore\",\"type\":\"uint64[]\"},{\"internalType\":\"uint64\",\"name\":\"_epsilonMax\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_absoluteWeightGuardRail\",\"type\":\"uint64\"}],\"name\":\"CalculateNewWeights\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"updatedWeights\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolAddress\",\"type\":\"address\"},{\"internalType\":\"int256[]\",\"name\":\"_newMovingAverages\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"_newInitialValues\",\"type\":\"int256[]\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfAssets\",\"type\":\"uint256\"}],\"name\":\"initialisePoolRuleIntermediateValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"movingAverages\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"parameterDescriptions\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[][]\",\"name\":\"_parameters\",\"type\":\"int256[][]\"}],\"name\":\"validParameters\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)\":{\"params\":{\"_absoluteWeightGuardRail\":\"the minimum weight a token can have\",\"_data\":\"the latest data from the signal, usually price\",\"_epsilonMax\":\"the maximum weights can change in a given update interval\",\"_lambdaStore\":\"either vector or scalar lambda\",\"_parameters\":\"the parameters of the rule that are not lambda\",\"_pool\":\"the target pool address\",\"_prevWeights\":\"the previous weights retrieved from the vault\"}},\"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)\":{\"params\":{\"_newInitialValues\":\"the initial intermediate values to be saved\",\"_newMovingAverages\":\"the initial moving averages to be saved\",\"_numberOfAssets\":\"the number of assets in the pool\",\"_poolAddress\":\"address of pool being initialised\"}},\"validParameters(int256[][])\":{\"details\":\"If parameters are not valid, either reverts or returns false\"}},\"title\":\"AntiMomentumUpdateRule contract for QuantAMM anti-momentum update rule implementation\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMathSD59x18__DivInputTooSmall()\":[{\"notice\":\"Emitted when one of the inputs is MIN_SD59x18.\"}],\"PRBMathSD59x18__DivOverflow(uint256)\":[{\"notice\":\"Emitted when one of the intermediary unsigned results overflows SD59x18.\"}],\"PRBMathSD59x18__Exp2InputTooBig(int256)\":[{\"notice\":\"Emitted when the input is greater than 192.\"}],\"PRBMathSD59x18__FromIntOverflow(int256)\":[{\"notice\":\"Emitted when converting a basic integer to the fixed-point format overflows SD59x18.\"}],\"PRBMathSD59x18__FromIntUnderflow(int256)\":[{\"notice\":\"Emitted when converting a basic integer to the fixed-point format underflows SD59x18.\"}],\"PRBMathSD59x18__LogInputTooSmall(int256)\":[{\"notice\":\"Emitted when the input is less than or equal to zero.\"}],\"PRBMathSD59x18__MulInputTooSmall()\":[{\"notice\":\"Emitted when one of the inputs is MIN_SD59x18.\"}],\"PRBMathSD59x18__MulOverflow(uint256)\":[{\"notice\":\"Emitted when the intermediary absolute result overflows SD59x18.\"}],\"PRBMath__MulDivFixedPointOverflow(uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}],\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)\":{\"notice\":\"top level initialisation function to be called during pool registration\"},\"validParameters(int256[][])\":{\"notice\":\"Check if the given parameters are valid for the rule\"}},\"notice\":\"Contains the logic for calculating the anti-momentum update rule and updating the weights of the QuantAMM pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/rules/AntimomentumUpdateRule.sol\":\"AntiMomentumUpdateRule\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999},\"remappings\":[\":@balancer-labs/=../../node_modules/@balancer-labs/\",\":@chainlink/=../../node_modules/@chainlink/\",\":@openzeppelin/=../../node_modules/@openzeppelin/\",\":@prb/=../../node_modules/@prb/\",\":@violetprotocol/=../../node_modules/@violetprotocol/\",\":ds-test/=../../node_modules/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=../../node_modules/forge-gas-snapshot/src/\",\":forge-std/=../../node_modules/forge-std/src/\",\":permit2/=../../node_modules/permit2/\",\":pool-quantamm/=../pool-quantamm/\",\":solidity-utils/=../solidity-utils/\",\":vault/=../vault/\"]},\"sources\":{\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol\":{\"keccak256\":\"0xe308e71a6fe265c80728343e40ad01765d28c757a17026c69996515e6982a374\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d101c55358794adbabc2a4ec94c1b96aab1266d8293e68138f8eb3f322cdd414\",\"dweb:/ipfs/Qmf8qbzfmrjwqSDzvHemQzzB7Hi4kbBzo689TKmmR5uj7r\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol\":{\"keccak256\":\"0x5d6478a2d8a1a2a9d42ebcb7cc95f86e89e7317c9e7d442e2d9beab888832da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08b6f986dbf1c33530b0fc0b1cab6ccb291b4881d2b3ef8ce4b99bf07c321c05\",\"dweb:/ipfs/QmY2UsSJtoxzyyeW2NnBvLQrV9M49UJS7WpReCFANvmLXt\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateWeightRunner.sol\":{\"keccak256\":\"0xad16d2378a21df939cdf9581b31ee42f6b4ccf070f77ece1f459f712e6dee79b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3b66a70b74395f280ce2afe72c20387c27da903267176691073034bc32f0cf\",\"dweb:/ipfs/QmV8Db1sBATHRwexhXdkphjubcK2NbHExWHLrPx9z4yAVH\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol\":{\"keccak256\":\"0xa549c088c1218bb94eec8f55133ed629c077e01f45d3acc704cc48116f2e426f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b19be96ff06bfe5bcc155ac196e16f8d56595bcde3659daf9b5b76ec9cdef6aa\",\"dweb:/ipfs/QmX5eSyKpC1nLBemzFTzofE935hXwgtYPuY9Zhar2fQ7Fx\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-utils/IPoolInfo.sol\":{\"keccak256\":\"0xa7adbaf80bc9cfa44e41776f632b5d7cb2c02c562a124c0e4cb17f06c4a54db3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e4fdf59a7f3dc3b7d6bb6f466e4a0a6263b66c0fc12492baf06ec8c6fdcc2398\",\"dweb:/ipfs/QmWxLpicLjGdgGQ8GjuN9YfDyVapYWwzdgET86ucs9hmFa\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-weighted/IWeightedPool.sol\":{\"keccak256\":\"0x4dbf765d0fba4be1552aa5309aadee71929f74a84818cd453bb23f873ca91bd7\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://65c241e3f125e87cea6cad51b075c6d821ba89e45756d8a57590a1f0c6b0d409\",\"dweb:/ipfs/Qmdhs7Fri1yfaRN4S5mPbr76ytv4EhxDntWeYw6mspw1Xq\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IAuthentication.sol\":{\"keccak256\":\"0xa383f78ec04a4ebadbf64ce0fcef8c14f2487f02330acf2fbab80055c54a5d74\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://077fdb9728fd22008ca58ca9f63cc7ea1b86f9cec778c5ff8943d9322b812f06\",\"dweb:/ipfs/QmVCYYCeuUZK1GqAHzTZBo59cjjh9iQhNYWQvAy2AYAVoN\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IPoolVersion.sol\":{\"keccak256\":\"0xb97e44d4ebd74212195ebf10dc94cd46929e4c3dd217215945d164f02426891f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cdc1656abb0e6c82640d17e2752684cce674cdd54665e01491c2b3ccb74c5d8f\",\"dweb:/ipfs/QmfFr81CMmBJa27uHe4aquqHmU2nXCTpXST1shNq6ik8PA\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol\":{\"keccak256\":\"0x3a9a626d90cdf64042441895ce981bf570d9aa56e7c188b34f8603b1d629aae3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0ac7096c0d5cd5e0c20dcc6681d24eb04ad7e14cbb61d0ebf136f96a2b9752c4\",\"dweb:/ipfs/QmWryZQqLxpxaCBwK6uEfSLKWKsGBsDL7xbdGqFMkW4Uxp\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IVersion.sol\":{\"keccak256\":\"0x8993f223a501fbbe7c1a2f589a12961ea2fab1919dbc02a1eede973692d24e6e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://acce7ad2eab8b257f65aa7e20b7814c71787c08d80e02335ccc7b04818ffcdc7\",\"dweb:/ipfs/QmQtDc6mwAijhvXLK5mbNfZ1JyQX7Q4nRsry5qDbcPpQVi\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IAuthorizer.sol\":{\"keccak256\":\"0x288b9590b9fb743964d46f610c2b0d4eee8457bfe52b890e31be5e11661759e3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://11373e74f2bb6112ae47b709e0161c09b3a2e1a7659bd15fa4ab4bcf8eadcab0\",\"dweb:/ipfs/QmfELyCgCckJz6hPwCw9thNA5kvaoUcCw7gcoxRgWrjMg1\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePool.sol\":{\"keccak256\":\"0x9a1d76aae6ede8baa23b2472faf991337fc0787f8a7b6e0573241060dd485a53\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://32ef0841804401494ddb68a85c7e9e97c4c0e26899a1d61c6ec9841cb5fcb800\",\"dweb:/ipfs/QmT3VTZRCJ8jFvq9VYZZHbSyuVbSnPAx8p6XEiZYppMrYQ\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePoolFactory.sol\":{\"keccak256\":\"0x6f8c558b0520faae0c4576f30225b5a97821a4cd210878a0ba10c102a2f753f3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b40aa7a5ee39fa2e297c684fd29ad45d866f1fc61cd997120a417b02a4d908aa\",\"dweb:/ipfs/QmYP5pQAF7SDLgy3aerqfnc4VwdmfQix2jcQUNL3o83BY9\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol\":{\"keccak256\":\"0x51fabcdeaefc15a895a04c457968a7fc0ce4f4647d42a91d07a863170d812c28\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://85822ed25a050521ec4b1af2e21d48e2b85cf48828cb9be5d7e5eb104d4ade6a\",\"dweb:/ipfs/QmU4QSNMfQCEacdgQizCxgNUzfnKxdmyqAndNJgLsCQ32t\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IProtocolFeeController.sol\":{\"keccak256\":\"0x743734d3d3503d705f0a778c4b0dd61fdb067e89a07481ddbead0654e6808318\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6198f27b2d01f346fdd3d1302e9a6ddd543d2f06afd675d84919c2242bd26d8d\",\"dweb:/ipfs/QmYntQih5MwxxdGnVu2BPVLeqFuJEH761cByAesjwE6JKT\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/ISwapFeePercentageBounds.sol\":{\"keccak256\":\"0x5a08573f4b3cacd398cbbc119d407a176cb64b7ee522386f4f79300b2851d92d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e2ff398fdc481caf40135abd58e71adc7aeacb8a79f461998fac207f59fcca33\",\"dweb:/ipfs/QmNczb9gmy4V3Kk9UjthyA6CpcntTWPbYvDu8aVtU1SW9k\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IUnbalancedLiquidityInvariantRatioBounds.sol\":{\"keccak256\":\"0xf41d8d01826abce1dc8a81f6d75663b853c718f028ce3c36d79dd3d833e7af2e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://4677f0f2d6f9caed2acb70a172cf75819b4d3124258ab9b1aabf0c153381d7d8\",\"dweb:/ipfs/QmP8dzBjKzotSv8zEF4HeFZyECiBQn37T4EmegEFgwgdwi\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVault.sol\":{\"keccak256\":\"0xf02dcb0b4fe9b71eb46fc66e327e166091d4e479fc3987c766859c94d505fe03\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://de42ab0fa6f22010ac305d785e787a60fbb94c2d0ba17042a6e60bce33c5ed9f\",\"dweb:/ipfs/QmVonnCCZVGzA3EERuQ4PbtpTTKrtgoXxYmtJ4CqaSmc4e\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol\":{\"keccak256\":\"0x9a651c10b5b352386341d65a37b63c95fbd0c4d401d4539730f3dfb4825acc18\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://26e398b4fc37c80a86327b9cbe14335e5378fa69b3fb222c2dc8cf33707c30fd\",\"dweb:/ipfs/QmY2E1b8DADLp3MStbVK93GACRJgJZxHYJpDrow1xzVhWB\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol\":{\"keccak256\":\"0xb2c6deaa8701201af5d31ac270fbc30ebe6b66a1f9b6b12d1d17d807f7decb66\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://28d6751bc7e7c7221745742cfe906387e0d806ea0a0041b9377fb5a537146063\",\"dweb:/ipfs/QmcphjQ6ramZM6Qxv84jaJbtZ7d5FNFJ8xHWCHZwk7CdZ3\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultEvents.sol\":{\"keccak256\":\"0x0ff416b358949bb5d9553118f7cbfd42aa9aa33fa6bbe4bf470159df07cf6989\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f033bb516eb8d85554aea408a0a750bf6ccd5655035abd307cc8388a533f1c40\",\"dweb:/ipfs/QmPCjG5jrXU4FrJWsputirF7JXZsNxhopetnHZTfRAFvMn\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol\":{\"keccak256\":\"0xa547348926764942de6030bf7d303684ff675a4a08fab3320f98154450ca5bb8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6c440d5d23034e35803f135d9336f256ece717370adb93d1f2fb992fa5ffd869\",\"dweb:/ipfs/QmbCaxRG3X9kUEbdrhRbm7JZZoK2nYp8FUXqh7Bn4wnFra\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultMain.sol\":{\"keccak256\":\"0x7df60e55516bf9cfa5156a03afc22e222fb87edf1bb9af48586ff0ff1be71e92\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://baf5a2e16cdb139182df24e2d103f80c72b730be20a04b2486e751af16652ac9\",\"dweb:/ipfs/Qmd6kdQmUFxPRJT1YrRJVVsUYAmpohBRvCM2qdXzVGcv5d\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol\":{\"keccak256\":\"0x670a4c7cdc970ed8cc82432894318558d67a530591617177603e0fea631addbc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b240af11378ac8ce54000b7defbd63c3a78d34c8f2bd6061173e35326fb6a042\",\"dweb:/ipfs/Qmf161h2SEXEQ2oahYcwCkxRC6QZocP2GsSjSJW2K57UzR\"]},\"../../node_modules/@balancer-labs/v3-pool-utils/contracts/BasePoolFactory.sol\":{\"keccak256\":\"0xd92ad66da6036962f4b4ddd054a389ba65f1d64ed540c0c210bc42de3e44e435\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://755bc7bbf7e16f272bcbfd5212dcd8e6371431973b17b96370839ca230a761db\",\"dweb:/ipfs/QmaiYCXVqZriea8tbJFjJQbx1kSA5arRQhqyv1F9CMzCQo\"]},\"../../node_modules/@balancer-labs/v3-pool-utils/contracts/PoolInfo.sol\":{\"keccak256\":\"0xa97e2a0fd95d78dcecf67fd8c554ced63bbd6da372b6f8b12f16ad526b6ec608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d98ad2022f9e3653fd63daca8c0725c7ccbd4f63d0d27c413e90669ce7284a96\",\"dweb:/ipfs/QmZ62RpJj3qSUrrdVD3H72qEszTUuvGkFLSBXAKMhBn5nX\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Authentication.sol\":{\"keccak256\":\"0x807237870f3aaa26cd815c5f600c1d0c60861a2f962fcc341d4b80942288ab52\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://90f108409488d0c38147d2ac7b9facd694dbf1001c501136a249091788c22232\",\"dweb:/ipfs/QmRCaCCGcuL4kxBEbrpq6FfENBJk4Zo8CNe8TRusatuYJ6\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol\":{\"keccak256\":\"0x2520a18de2423ccd618a6ac00cbb4d97637856c5dd9fc68af5e95e2b42013adc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e1d762d46a94a7028c19ebe688a152ed8ff9f55d76a5d347c080b7ddf5fe891e\",\"dweb:/ipfs/QmPaR4HYhHkUGiL5SV4QyjvfmauEUwDVAAHa7wFAW2uviB\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CastingHelpers.sol\":{\"keccak256\":\"0x8b468c356b40134c158695ad68193093444f1a7783966a03947d67c403c87635\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://8d2696338f5f2f11663a2123cd5f7df1a2bfb434d49f93f2c0d1486e9d43d6f4\",\"dweb:/ipfs/QmQihSe7BEvWh4s1EPnqSf5RKNL6fLqEBuMETn6nHouweW\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CodeDeployer.sol\":{\"keccak256\":\"0x58297dc76e77a5427fe2a527d616e4bee048770fde8205ab8928b119925b1449\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5b24fd7b82652d7e53b5d06d834dedcc2ce0d972568c8bdf299c43defa7c9145\",\"dweb:/ipfs/QmRfSzPyVNajcjjcLyvw2hSCMhUMu1SCCEsYCf8G4xPGM9\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/FactoryWidePauseWindow.sol\":{\"keccak256\":\"0x9594d2dc75aa8c92bb39d30cd76d3bfbb203fe17c4ae35b6f8d882ed4ac868d4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1a43d706d34c9f071bed27372100fedaeb12ec4c5c3529e150c8684444c4a619\",\"dweb:/ipfs/QmYUnJ2CtjJY2XktSzamExryTNbAYjesnymMpqTvQuXUka\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol\":{\"keccak256\":\"0xe820b139c5ab3a4a26eda124b6c31f755f3203ba80a9b1b187a53e2699c444ab\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://826e19b27c648604e06b5e68ce66ae6fecd3a0214738a7f67046103b12ab1148\",\"dweb:/ipfs/QmZfz3iFQVDMxkyYcAqfh4BJ21FXvSE58Bo1B8snjC92Wf\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Version.sol\":{\"keccak256\":\"0xca8d6e86dafe803f864c5230e4569938d3257fe1e29e2693d6b7822d207a231d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://390de97b518c8a3f0ef6c1a2d448cfa102de6f4777dfc8e14d700b8395730ae5\",\"dweb:/ipfs/QmdmWZrdihBiuSCmwyFkdkXh9yQKNm56TEmtegUS2MPiFg\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol\":{\"keccak256\":\"0x84bcae7004be7e91a88e76a3ac317490bc6845754a12cee88fcab76b1c5de37b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://15f903480fec5ae8042baf458e2246693b0b4a22687e65c2ed3afdf6993bff82\",\"dweb:/ipfs/QmcxsVeSbQ4qYnEZFoeFmiqaoV3rAx1oNhACCZCMZ1E6uf\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/LogExpMath.sol\":{\"keccak256\":\"0x70449e2b423b9850e39adddd7301205aa8b6e9e4ae788fd44d0968cac018eb2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce2174a3629b45dca032f9cf53df35dea240626913b8882a9e2da21610b02796\",\"dweb:/ipfs/Qmf8E4DePnZXjqb3V4A38gSobjgRK6VqavqPByuXvJxtBG\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/WeightedMath.sol\":{\"keccak256\":\"0xb31be209c69a6e60f4486b793bfc57b3ab7aa25efd29f40e981d5b9c95196f7b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://04a10cf9c7a408f0d617d8f25dedd1d4d8d0411ac022b26293b39fccfbf41c71\",\"dweb:/ipfs/QmaExV5EYT4dtE9EAybKaraqXnbpM4usyAfFV5DHfatkof\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/BalancerPoolToken.sol\":{\"keccak256\":\"0x79f2ec4f7314bd1c3555368ff02bb9d382489dc8bbd7efbbf306f9a5084f3bec\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a57c155451c5b1c1c59a27770754ccd9ba1be9344db6ac45b8744eba5fa4fa2f\",\"dweb:/ipfs/QmarkRwGaS3egg1FaQH6LibqjT6NocVUbD1jMPWtFxFaQV\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/SingletonAuthentication.sol\":{\"keccak256\":\"0x67518bf3b6bd96f5897c56867fc57f3c31bb9b97abf93cf960de145a5eb82414\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://563857d8606cbd4f727c75f09901d09ec9faa73778fe85e2af851982cdb9b6e8\",\"dweb:/ipfs/QmU7x1gWCPGPAcxA8Qq3z8hscrGRFwsc28qad4RMihZ8qB\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/VaultGuard.sol\":{\"keccak256\":\"0x678a36266505ecef51b514707c3050baaeb970644894f64eb0a442aa4ab013ec\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1514c0d27ad60f5f2d863f08258d67d937ec5e7b003d9c9f60526509d72bbef\",\"dweb:/ipfs/QmUVkCKFi1N8ZCzQ8VHD92eD1tzJciBowHmZ6fY8hEwNqF\"]},\"../../node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"../../node_modules/@openzeppelin/contracts/access/Ownable2Step.sol\":{\"keccak256\":\"0x5d3e5de9eadfa1f8a892eb2e95bbebd3e4b8c8ada5b76f104d383fea518fa688\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cde108962511e6a4d3cfb7b6fb6a36bdcfa300761c17dad2d7dd87d4f8117b48\",\"dweb:/ipfs/Qmf7YxUVK68JedWybWfXvzLCegsD95DtGc3mbpEWkWSMm8\"]},\"../../node_modules/@openzeppelin/contracts/interfaces/IERC4626.sol\":{\"keccak256\":\"0x207f64371bc0fcc5be86713aa5da109a870cc3a6da50e93b64ee881e369b593d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://548667cfa76683767c2c610b577f6c2f0675d0ce28f53c3f37b969c84a56b205\",\"dweb:/ipfs/QmUzA1CKC6bDdULuS44wGd7PWBNLiHb6bh7oHwJBDZSLAx\"]},\"../../node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"../../node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0\",\"dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3\"]},\"../../node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"../../node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867\",\"dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY\"]},\"../../node_modules/@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420\",\"dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR\"]},\"../../node_modules/@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"../../node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c\",\"dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA\"]},\"../../node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"../../node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c\",\"dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21\",\"dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c\",\"dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX\"]},\"../../node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"../../node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"../../node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"../../node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"../../node_modules/@prb/math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]},\"../../node_modules/@prb/math/contracts/PRBMathSD59x18.sol\":{\"keccak256\":\"0x1886d687eace717c05b7dcc20e43a088df0e549df86b453c2222961b520308f0\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://e62bb6764ac875e7e241a8621bbbd32ae7a4c98d681c250efc04fa467ec6da6e\",\"dweb:/ipfs/QmWk5VQSTP3JiCNJ8NGF39nReD1hcCgTvAQH8RBPpXrDfH\"]},\"contracts/QuantAMMStorage.sol\":{\"keccak256\":\"0x218f93e9a4a0f16f974a51e2cf98c6d71c17aac1b0bea28bedd52f2b55263835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df96dc698a021fe162edf492e684e711420460bb2f190b7f66a1cfeb632dbf3d\",\"dweb:/ipfs/QmZaBezmJpqHW1ep1gjYCQXxGucXQ3WFVX3E7wDBpgFjWS\"]},\"contracts/QuantAMMWeightedPool.sol\":{\"keccak256\":\"0x3411f1acf276859a43594f17054169f6be280c47a483e0e8c8e33a5cb87a2696\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://233952b0c6c0b07271c6b2fa69710f514cd40d2f2b9c6812d95ee86295566066\",\"dweb:/ipfs/QmeZVyZHf1T5WZoT8ouNvzdxc7mSVLfRWtQL3sAerrEEBL\"]},\"contracts/QuantAMMWeightedPoolFactory.sol\":{\"keccak256\":\"0x360d5a6cee5dd7406a6fe3804ba6cf5c46b21ac654abc232b4bae519c6f1ec8c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b60523863fc11e5277d9d7c5c80c50f9ba850ae7a3ba04a12cf88d1e6276210d\",\"dweb:/ipfs/QmPSbmT1CVRQUTw9TSrXdw2yRHS2hqXrSxTDNFEeWYWgR5\"]},\"contracts/UpdateWeightRunner.sol\":{\"keccak256\":\"0x4bbabcf5093d23925890d6ffb03a761734b261edaa566c385f21ff3b9b49e1a0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://03580768c92e6cf9b7294c86a364adf82702bdc39702f612398bb7248d64e732\",\"dweb:/ipfs/QmfJf2fbEXPgmVeYoQpscxzYPBBxZqnyPN7ZKZQRpCbyWo\"]},\"contracts/rules/AntimomentumUpdateRule.sol\":{\"keccak256\":\"0xc9df25eb3f2e504664be2a50a5f73ae94de94e8087915858fd520d440fe988e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ba3bf7f3a8f46a75d7313c8908d58ad0d9f6caa4da1ea60e925dece07b3af3ab\",\"dweb:/ipfs/QmXtK9b7X63ZdYrkS2mPRVdmSjg2rsacn38c5qV7MGsPCB\"]},\"contracts/rules/UpdateRule.sol\":{\"keccak256\":\"0xaeda1a2e60490e95e5d18f5d02d8278cc34351c43ee366c01ac31a46f954a7e2\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://60734d6d6394487040e286b5549f65dcb6873077bd6b5e9e027b1f7f5a674f0d\",\"dweb:/ipfs/QmNTva4j9uVM46494cafEEacQdFXCzSftF52F9VyTWb1st\"]},\"contracts/rules/base/QuantammBasedRuleHelpers.sol\":{\"keccak256\":\"0x95f9dba8f8fef11062ee275681e01743acf8dfc1bd7f00fea72a6b62de429efc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ffe743dd2849618a7e9bb37bf33fe65bde7e056e4eeb36a11bd64e4bdc7077e6\",\"dweb:/ipfs/QmXanhX14c2Wd1UxNgqp6UBbmHpiKp3qjgdVx8P3RwAT3g\"]},\"contracts/rules/base/QuantammGradientBasedRule.sol\":{\"keccak256\":\"0xf29cb196d2d396bb2988d2b8666ad1ded73d28ac358dafc0b5b626eaa6742e62\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f4d40f199e6a17c68c01827a2138993d1f21dac93c98c5d244da1d24670325a5\",\"dweb:/ipfs/QmQH9KJdbYHEmiNbTSeaazFvSZY18UHHHsFerh82v8e5Zj\"]},\"contracts/rules/base/QuantammMathGuard.sol\":{\"keccak256\":\"0x388fa467c5f42712aca8b4e15befb0fabe626416ace1f0f5bec2cfd2cf2bcb47\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9674246a3b2795e5979a35ab042ec9ea39092ff5d7c4d7f5491cc5fb34d19bfd\",\"dweb:/ipfs/QmX9twBcRntFgCJFPXJgu5oenbg4CgTjovqjY9Rt7us1Gm\"]},\"contracts/rules/base/QuantammMathMovingAverage.sol\":{\"keccak256\":\"0x9a532f6bcd93817a1a8576a70c90f9381e92aaf82bd1bef9d297589ca86eaa5b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://092cdd190026894fe5113e1c9cfff78b30f68daa49caffcc79c9fbc92b09601b\",\"dweb:/ipfs/Qmcb8XcZVe3UZAVoZ75UVh2d1jAmVk3yZpHu8zB6A1V2Gz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_updateWeightRunner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"PRBMathSD59x18__DivInputTooSmall"},{"inputs":[{"internalType":"uint256","name":"rAbs","type":"uint256"}],"type":"error","name":"PRBMathSD59x18__DivOverflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__Exp2InputTooBig"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__FromIntOverflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__FromIntUnderflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__LogInputTooSmall"},{"inputs":[],"type":"error","name":"PRBMathSD59x18__MulInputTooSmall"},{"inputs":[{"internalType":"uint256","name":"rAbs","type":"uint256"}],"type":"error","name":"PRBMathSD59x18__MulOverflow"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"}],"type":"error","name":"PRBMath__MulDivFixedPointOverflow"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[{"internalType":"int256[]","name":"_prevWeights","type":"int256[]"},{"internalType":"int256[]","name":"_data","type":"int256[]"},{"internalType":"address","name":"_pool","type":"address"},{"internalType":"int256[][]","name":"_parameters","type":"int256[][]"},{"internalType":"uint64[]","name":"_lambdaStore","type":"uint64[]"},{"internalType":"uint64","name":"_epsilonMax","type":"uint64"},{"internalType":"uint64","name":"_absoluteWeightGuardRail","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"CalculateNewWeights","outputs":[{"internalType":"int256[]","name":"updatedWeights","type":"int256[]"}]},{"inputs":[{"internalType":"address","name":"_poolAddress","type":"address"},{"internalType":"int256[]","name":"_newMovingAverages","type":"int256[]"},{"internalType":"int256[]","name":"_newInitialValues","type":"int256[]"},{"internalType":"uint256","name":"_numberOfAssets","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialisePoolRuleIntermediateValues"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"movingAverages","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"parameterDescriptions","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"int256[][]","name":"_parameters","type":"int256[][]"}],"stateMutability":"pure","type":"function","name":"validParameters","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)":{"params":{"_absoluteWeightGuardRail":"the minimum weight a token can have","_data":"the latest data from the signal, usually price","_epsilonMax":"the maximum weights can change in a given update interval","_lambdaStore":"either vector or scalar lambda","_parameters":"the parameters of the rule that are not lambda","_pool":"the target pool address","_prevWeights":"the previous weights retrieved from the vault"}},"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":{"params":{"_newInitialValues":"the initial intermediate values to be saved","_newMovingAverages":"the initial moving averages to be saved","_numberOfAssets":"the number of assets in the pool","_poolAddress":"address of pool being initialised"}},"validParameters(int256[][])":{"details":"If parameters are not valid, either reverts or returns false"}},"version":1},"userdoc":{"kind":"user","methods":{"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":{"notice":"top level initialisation function to be called during pool registration"},"validParameters(int256[][])":{"notice":"Check if the given parameters are valid for the rule"}},"version":1}},"settings":{"remappings":["@balancer-labs/=../../node_modules/@balancer-labs/","@chainlink/=../../node_modules/@chainlink/","@openzeppelin/=../../node_modules/@openzeppelin/","@prb/=../../node_modules/@prb/","@violetprotocol/=../../node_modules/@violetprotocol/","ds-test/=../../node_modules/forge-std/lib/ds-test/src/","forge-gas-snapshot/=../../node_modules/forge-gas-snapshot/src/","forge-std/=../../node_modules/forge-std/src/","permit2/=../../node_modules/permit2/","pool-quantamm/=../pool-quantamm/","solidity-utils/=../solidity-utils/","vault/=../vault/"],"optimizer":{"enabled":true,"runs":999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/rules/AntimomentumUpdateRule.sol":"AntiMomentumUpdateRule"},"evmVersion":"cancun","libraries":{}},"sources":{"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol":{"keccak256":"0xe308e71a6fe265c80728343e40ad01765d28c757a17026c69996515e6982a374","urls":["bzz-raw://d101c55358794adbabc2a4ec94c1b96aab1266d8293e68138f8eb3f322cdd414","dweb:/ipfs/Qmf8qbzfmrjwqSDzvHemQzzB7Hi4kbBzo689TKmmR5uj7r"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol":{"keccak256":"0x5d6478a2d8a1a2a9d42ebcb7cc95f86e89e7317c9e7d442e2d9beab888832da1","urls":["bzz-raw://08b6f986dbf1c33530b0fc0b1cab6ccb291b4881d2b3ef8ce4b99bf07c321c05","dweb:/ipfs/QmY2UsSJtoxzyyeW2NnBvLQrV9M49UJS7WpReCFANvmLXt"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateWeightRunner.sol":{"keccak256":"0xad16d2378a21df939cdf9581b31ee42f6b4ccf070f77ece1f459f712e6dee79b","urls":["bzz-raw://5d3b66a70b74395f280ce2afe72c20387c27da903267176691073034bc32f0cf","dweb:/ipfs/QmV8Db1sBATHRwexhXdkphjubcK2NbHExWHLrPx9z4yAVH"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol":{"keccak256":"0xa549c088c1218bb94eec8f55133ed629c077e01f45d3acc704cc48116f2e426f","urls":["bzz-raw://b19be96ff06bfe5bcc155ac196e16f8d56595bcde3659daf9b5b76ec9cdef6aa","dweb:/ipfs/QmX5eSyKpC1nLBemzFTzofE935hXwgtYPuY9Zhar2fQ7Fx"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-utils/IPoolInfo.sol":{"keccak256":"0xa7adbaf80bc9cfa44e41776f632b5d7cb2c02c562a124c0e4cb17f06c4a54db3","urls":["bzz-raw://e4fdf59a7f3dc3b7d6bb6f466e4a0a6263b66c0fc12492baf06ec8c6fdcc2398","dweb:/ipfs/QmWxLpicLjGdgGQ8GjuN9YfDyVapYWwzdgET86ucs9hmFa"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-weighted/IWeightedPool.sol":{"keccak256":"0x4dbf765d0fba4be1552aa5309aadee71929f74a84818cd453bb23f873ca91bd7","urls":["bzz-raw://65c241e3f125e87cea6cad51b075c6d821ba89e45756d8a57590a1f0c6b0d409","dweb:/ipfs/Qmdhs7Fri1yfaRN4S5mPbr76ytv4EhxDntWeYw6mspw1Xq"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IAuthentication.sol":{"keccak256":"0xa383f78ec04a4ebadbf64ce0fcef8c14f2487f02330acf2fbab80055c54a5d74","urls":["bzz-raw://077fdb9728fd22008ca58ca9f63cc7ea1b86f9cec778c5ff8943d9322b812f06","dweb:/ipfs/QmVCYYCeuUZK1GqAHzTZBo59cjjh9iQhNYWQvAy2AYAVoN"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IPoolVersion.sol":{"keccak256":"0xb97e44d4ebd74212195ebf10dc94cd46929e4c3dd217215945d164f02426891f","urls":["bzz-raw://cdc1656abb0e6c82640d17e2752684cce674cdd54665e01491c2b3ccb74c5d8f","dweb:/ipfs/QmfFr81CMmBJa27uHe4aquqHmU2nXCTpXST1shNq6ik8PA"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol":{"keccak256":"0x3a9a626d90cdf64042441895ce981bf570d9aa56e7c188b34f8603b1d629aae3","urls":["bzz-raw://0ac7096c0d5cd5e0c20dcc6681d24eb04ad7e14cbb61d0ebf136f96a2b9752c4","dweb:/ipfs/QmWryZQqLxpxaCBwK6uEfSLKWKsGBsDL7xbdGqFMkW4Uxp"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IVersion.sol":{"keccak256":"0x8993f223a501fbbe7c1a2f589a12961ea2fab1919dbc02a1eede973692d24e6e","urls":["bzz-raw://acce7ad2eab8b257f65aa7e20b7814c71787c08d80e02335ccc7b04818ffcdc7","dweb:/ipfs/QmQtDc6mwAijhvXLK5mbNfZ1JyQX7Q4nRsry5qDbcPpQVi"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IAuthorizer.sol":{"keccak256":"0x288b9590b9fb743964d46f610c2b0d4eee8457bfe52b890e31be5e11661759e3","urls":["bzz-raw://11373e74f2bb6112ae47b709e0161c09b3a2e1a7659bd15fa4ab4bcf8eadcab0","dweb:/ipfs/QmfELyCgCckJz6hPwCw9thNA5kvaoUcCw7gcoxRgWrjMg1"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePool.sol":{"keccak256":"0x9a1d76aae6ede8baa23b2472faf991337fc0787f8a7b6e0573241060dd485a53","urls":["bzz-raw://32ef0841804401494ddb68a85c7e9e97c4c0e26899a1d61c6ec9841cb5fcb800","dweb:/ipfs/QmT3VTZRCJ8jFvq9VYZZHbSyuVbSnPAx8p6XEiZYppMrYQ"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePoolFactory.sol":{"keccak256":"0x6f8c558b0520faae0c4576f30225b5a97821a4cd210878a0ba10c102a2f753f3","urls":["bzz-raw://b40aa7a5ee39fa2e297c684fd29ad45d866f1fc61cd997120a417b02a4d908aa","dweb:/ipfs/QmYP5pQAF7SDLgy3aerqfnc4VwdmfQix2jcQUNL3o83BY9"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol":{"keccak256":"0x51fabcdeaefc15a895a04c457968a7fc0ce4f4647d42a91d07a863170d812c28","urls":["bzz-raw://85822ed25a050521ec4b1af2e21d48e2b85cf48828cb9be5d7e5eb104d4ade6a","dweb:/ipfs/QmU4QSNMfQCEacdgQizCxgNUzfnKxdmyqAndNJgLsCQ32t"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IProtocolFeeController.sol":{"keccak256":"0x743734d3d3503d705f0a778c4b0dd61fdb067e89a07481ddbead0654e6808318","urls":["bzz-raw://6198f27b2d01f346fdd3d1302e9a6ddd543d2f06afd675d84919c2242bd26d8d","dweb:/ipfs/QmYntQih5MwxxdGnVu2BPVLeqFuJEH761cByAesjwE6JKT"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/ISwapFeePercentageBounds.sol":{"keccak256":"0x5a08573f4b3cacd398cbbc119d407a176cb64b7ee522386f4f79300b2851d92d","urls":["bzz-raw://e2ff398fdc481caf40135abd58e71adc7aeacb8a79f461998fac207f59fcca33","dweb:/ipfs/QmNczb9gmy4V3Kk9UjthyA6CpcntTWPbYvDu8aVtU1SW9k"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IUnbalancedLiquidityInvariantRatioBounds.sol":{"keccak256":"0xf41d8d01826abce1dc8a81f6d75663b853c718f028ce3c36d79dd3d833e7af2e","urls":["bzz-raw://4677f0f2d6f9caed2acb70a172cf75819b4d3124258ab9b1aabf0c153381d7d8","dweb:/ipfs/QmP8dzBjKzotSv8zEF4HeFZyECiBQn37T4EmegEFgwgdwi"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVault.sol":{"keccak256":"0xf02dcb0b4fe9b71eb46fc66e327e166091d4e479fc3987c766859c94d505fe03","urls":["bzz-raw://de42ab0fa6f22010ac305d785e787a60fbb94c2d0ba17042a6e60bce33c5ed9f","dweb:/ipfs/QmVonnCCZVGzA3EERuQ4PbtpTTKrtgoXxYmtJ4CqaSmc4e"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol":{"keccak256":"0x9a651c10b5b352386341d65a37b63c95fbd0c4d401d4539730f3dfb4825acc18","urls":["bzz-raw://26e398b4fc37c80a86327b9cbe14335e5378fa69b3fb222c2dc8cf33707c30fd","dweb:/ipfs/QmY2E1b8DADLp3MStbVK93GACRJgJZxHYJpDrow1xzVhWB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol":{"keccak256":"0xb2c6deaa8701201af5d31ac270fbc30ebe6b66a1f9b6b12d1d17d807f7decb66","urls":["bzz-raw://28d6751bc7e7c7221745742cfe906387e0d806ea0a0041b9377fb5a537146063","dweb:/ipfs/QmcphjQ6ramZM6Qxv84jaJbtZ7d5FNFJ8xHWCHZwk7CdZ3"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultEvents.sol":{"keccak256":"0x0ff416b358949bb5d9553118f7cbfd42aa9aa33fa6bbe4bf470159df07cf6989","urls":["bzz-raw://f033bb516eb8d85554aea408a0a750bf6ccd5655035abd307cc8388a533f1c40","dweb:/ipfs/QmPCjG5jrXU4FrJWsputirF7JXZsNxhopetnHZTfRAFvMn"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol":{"keccak256":"0xa547348926764942de6030bf7d303684ff675a4a08fab3320f98154450ca5bb8","urls":["bzz-raw://6c440d5d23034e35803f135d9336f256ece717370adb93d1f2fb992fa5ffd869","dweb:/ipfs/QmbCaxRG3X9kUEbdrhRbm7JZZoK2nYp8FUXqh7Bn4wnFra"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultMain.sol":{"keccak256":"0x7df60e55516bf9cfa5156a03afc22e222fb87edf1bb9af48586ff0ff1be71e92","urls":["bzz-raw://baf5a2e16cdb139182df24e2d103f80c72b730be20a04b2486e751af16652ac9","dweb:/ipfs/Qmd6kdQmUFxPRJT1YrRJVVsUYAmpohBRvCM2qdXzVGcv5d"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol":{"keccak256":"0x670a4c7cdc970ed8cc82432894318558d67a530591617177603e0fea631addbc","urls":["bzz-raw://b240af11378ac8ce54000b7defbd63c3a78d34c8f2bd6061173e35326fb6a042","dweb:/ipfs/Qmf161h2SEXEQ2oahYcwCkxRC6QZocP2GsSjSJW2K57UzR"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-pool-utils/contracts/BasePoolFactory.sol":{"keccak256":"0xd92ad66da6036962f4b4ddd054a389ba65f1d64ed540c0c210bc42de3e44e435","urls":["bzz-raw://755bc7bbf7e16f272bcbfd5212dcd8e6371431973b17b96370839ca230a761db","dweb:/ipfs/QmaiYCXVqZriea8tbJFjJQbx1kSA5arRQhqyv1F9CMzCQo"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-pool-utils/contracts/PoolInfo.sol":{"keccak256":"0xa97e2a0fd95d78dcecf67fd8c554ced63bbd6da372b6f8b12f16ad526b6ec608","urls":["bzz-raw://d98ad2022f9e3653fd63daca8c0725c7ccbd4f63d0d27c413e90669ce7284a96","dweb:/ipfs/QmZ62RpJj3qSUrrdVD3H72qEszTUuvGkFLSBXAKMhBn5nX"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Authentication.sol":{"keccak256":"0x807237870f3aaa26cd815c5f600c1d0c60861a2f962fcc341d4b80942288ab52","urls":["bzz-raw://90f108409488d0c38147d2ac7b9facd694dbf1001c501136a249091788c22232","dweb:/ipfs/QmRCaCCGcuL4kxBEbrpq6FfENBJk4Zo8CNe8TRusatuYJ6"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol":{"keccak256":"0x2520a18de2423ccd618a6ac00cbb4d97637856c5dd9fc68af5e95e2b42013adc","urls":["bzz-raw://e1d762d46a94a7028c19ebe688a152ed8ff9f55d76a5d347c080b7ddf5fe891e","dweb:/ipfs/QmPaR4HYhHkUGiL5SV4QyjvfmauEUwDVAAHa7wFAW2uviB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CastingHelpers.sol":{"keccak256":"0x8b468c356b40134c158695ad68193093444f1a7783966a03947d67c403c87635","urls":["bzz-raw://8d2696338f5f2f11663a2123cd5f7df1a2bfb434d49f93f2c0d1486e9d43d6f4","dweb:/ipfs/QmQihSe7BEvWh4s1EPnqSf5RKNL6fLqEBuMETn6nHouweW"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CodeDeployer.sol":{"keccak256":"0x58297dc76e77a5427fe2a527d616e4bee048770fde8205ab8928b119925b1449","urls":["bzz-raw://5b24fd7b82652d7e53b5d06d834dedcc2ce0d972568c8bdf299c43defa7c9145","dweb:/ipfs/QmRfSzPyVNajcjjcLyvw2hSCMhUMu1SCCEsYCf8G4xPGM9"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/FactoryWidePauseWindow.sol":{"keccak256":"0x9594d2dc75aa8c92bb39d30cd76d3bfbb203fe17c4ae35b6f8d882ed4ac868d4","urls":["bzz-raw://1a43d706d34c9f071bed27372100fedaeb12ec4c5c3529e150c8684444c4a619","dweb:/ipfs/QmYUnJ2CtjJY2XktSzamExryTNbAYjesnymMpqTvQuXUka"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol":{"keccak256":"0xe820b139c5ab3a4a26eda124b6c31f755f3203ba80a9b1b187a53e2699c444ab","urls":["bzz-raw://826e19b27c648604e06b5e68ce66ae6fecd3a0214738a7f67046103b12ab1148","dweb:/ipfs/QmZfz3iFQVDMxkyYcAqfh4BJ21FXvSE58Bo1B8snjC92Wf"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Version.sol":{"keccak256":"0xca8d6e86dafe803f864c5230e4569938d3257fe1e29e2693d6b7822d207a231d","urls":["bzz-raw://390de97b518c8a3f0ef6c1a2d448cfa102de6f4777dfc8e14d700b8395730ae5","dweb:/ipfs/QmdmWZrdihBiuSCmwyFkdkXh9yQKNm56TEmtegUS2MPiFg"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol":{"keccak256":"0x84bcae7004be7e91a88e76a3ac317490bc6845754a12cee88fcab76b1c5de37b","urls":["bzz-raw://15f903480fec5ae8042baf458e2246693b0b4a22687e65c2ed3afdf6993bff82","dweb:/ipfs/QmcxsVeSbQ4qYnEZFoeFmiqaoV3rAx1oNhACCZCMZ1E6uf"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/LogExpMath.sol":{"keccak256":"0x70449e2b423b9850e39adddd7301205aa8b6e9e4ae788fd44d0968cac018eb2a","urls":["bzz-raw://ce2174a3629b45dca032f9cf53df35dea240626913b8882a9e2da21610b02796","dweb:/ipfs/Qmf8E4DePnZXjqb3V4A38gSobjgRK6VqavqPByuXvJxtBG"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/WeightedMath.sol":{"keccak256":"0xb31be209c69a6e60f4486b793bfc57b3ab7aa25efd29f40e981d5b9c95196f7b","urls":["bzz-raw://04a10cf9c7a408f0d617d8f25dedd1d4d8d0411ac022b26293b39fccfbf41c71","dweb:/ipfs/QmaExV5EYT4dtE9EAybKaraqXnbpM4usyAfFV5DHfatkof"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/BalancerPoolToken.sol":{"keccak256":"0x79f2ec4f7314bd1c3555368ff02bb9d382489dc8bbd7efbbf306f9a5084f3bec","urls":["bzz-raw://a57c155451c5b1c1c59a27770754ccd9ba1be9344db6ac45b8744eba5fa4fa2f","dweb:/ipfs/QmarkRwGaS3egg1FaQH6LibqjT6NocVUbD1jMPWtFxFaQV"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/SingletonAuthentication.sol":{"keccak256":"0x67518bf3b6bd96f5897c56867fc57f3c31bb9b97abf93cf960de145a5eb82414","urls":["bzz-raw://563857d8606cbd4f727c75f09901d09ec9faa73778fe85e2af851982cdb9b6e8","dweb:/ipfs/QmU7x1gWCPGPAcxA8Qq3z8hscrGRFwsc28qad4RMihZ8qB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/VaultGuard.sol":{"keccak256":"0x678a36266505ecef51b514707c3050baaeb970644894f64eb0a442aa4ab013ec","urls":["bzz-raw://d1514c0d27ad60f5f2d863f08258d67d937ec5e7b003d9c9f60526509d72bbef","dweb:/ipfs/QmUVkCKFi1N8ZCzQ8VHD92eD1tzJciBowHmZ6fY8hEwNqF"],"license":"GPL-3.0-or-later"},"../../node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/access/Ownable2Step.sol":{"keccak256":"0x5d3e5de9eadfa1f8a892eb2e95bbebd3e4b8c8ada5b76f104d383fea518fa688","urls":["bzz-raw://cde108962511e6a4d3cfb7b6fb6a36bdcfa300761c17dad2d7dd87d4f8117b48","dweb:/ipfs/Qmf7YxUVK68JedWybWfXvzLCegsD95DtGc3mbpEWkWSMm8"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/interfaces/IERC4626.sol":{"keccak256":"0x207f64371bc0fcc5be86713aa5da109a870cc3a6da50e93b64ee881e369b593d","urls":["bzz-raw://548667cfa76683767c2c610b577f6c2f0675d0ce28f53c3f37b969c84a56b205","dweb:/ipfs/QmUzA1CKC6bDdULuS44wGd7PWBNLiHb6bh7oHwJBDZSLAx"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386","urls":["bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0","dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721","urls":["bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245","dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3","urls":["bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867","dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Create2.sol":{"keccak256":"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e","urls":["bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420","dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"../../node_modules/@prb/math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"},"../../node_modules/@prb/math/contracts/PRBMathSD59x18.sol":{"keccak256":"0x1886d687eace717c05b7dcc20e43a088df0e549df86b453c2222961b520308f0","urls":["bzz-raw://e62bb6764ac875e7e241a8621bbbd32ae7a4c98d681c250efc04fa467ec6da6e","dweb:/ipfs/QmWk5VQSTP3JiCNJ8NGF39nReD1hcCgTvAQH8RBPpXrDfH"],"license":"Unlicense"},"contracts/QuantAMMStorage.sol":{"keccak256":"0x218f93e9a4a0f16f974a51e2cf98c6d71c17aac1b0bea28bedd52f2b55263835","urls":["bzz-raw://df96dc698a021fe162edf492e684e711420460bb2f190b7f66a1cfeb632dbf3d","dweb:/ipfs/QmZaBezmJpqHW1ep1gjYCQXxGucXQ3WFVX3E7wDBpgFjWS"],"license":"MIT"},"contracts/QuantAMMWeightedPool.sol":{"keccak256":"0x3411f1acf276859a43594f17054169f6be280c47a483e0e8c8e33a5cb87a2696","urls":["bzz-raw://233952b0c6c0b07271c6b2fa69710f514cd40d2f2b9c6812d95ee86295566066","dweb:/ipfs/QmeZVyZHf1T5WZoT8ouNvzdxc7mSVLfRWtQL3sAerrEEBL"],"license":"GPL-3.0-or-later"},"contracts/QuantAMMWeightedPoolFactory.sol":{"keccak256":"0x360d5a6cee5dd7406a6fe3804ba6cf5c46b21ac654abc232b4bae519c6f1ec8c","urls":["bzz-raw://b60523863fc11e5277d9d7c5c80c50f9ba850ae7a3ba04a12cf88d1e6276210d","dweb:/ipfs/QmPSbmT1CVRQUTw9TSrXdw2yRHS2hqXrSxTDNFEeWYWgR5"],"license":"GPL-3.0-or-later"},"contracts/UpdateWeightRunner.sol":{"keccak256":"0x4bbabcf5093d23925890d6ffb03a761734b261edaa566c385f21ff3b9b49e1a0","urls":["bzz-raw://03580768c92e6cf9b7294c86a364adf82702bdc39702f612398bb7248d64e732","dweb:/ipfs/QmfJf2fbEXPgmVeYoQpscxzYPBBxZqnyPN7ZKZQRpCbyWo"],"license":"BUSL-1.1"},"contracts/rules/AntimomentumUpdateRule.sol":{"keccak256":"0xc9df25eb3f2e504664be2a50a5f73ae94de94e8087915858fd520d440fe988e4","urls":["bzz-raw://ba3bf7f3a8f46a75d7313c8908d58ad0d9f6caa4da1ea60e925dece07b3af3ab","dweb:/ipfs/QmXtK9b7X63ZdYrkS2mPRVdmSjg2rsacn38c5qV7MGsPCB"],"license":"BUSL-1.1"},"contracts/rules/UpdateRule.sol":{"keccak256":"0xaeda1a2e60490e95e5d18f5d02d8278cc34351c43ee366c01ac31a46f954a7e2","urls":["bzz-raw://60734d6d6394487040e286b5549f65dcb6873077bd6b5e9e027b1f7f5a674f0d","dweb:/ipfs/QmNTva4j9uVM46494cafEEacQdFXCzSftF52F9VyTWb1st"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammBasedRuleHelpers.sol":{"keccak256":"0x95f9dba8f8fef11062ee275681e01743acf8dfc1bd7f00fea72a6b62de429efc","urls":["bzz-raw://ffe743dd2849618a7e9bb37bf33fe65bde7e056e4eeb36a11bd64e4bdc7077e6","dweb:/ipfs/QmXanhX14c2Wd1UxNgqp6UBbmHpiKp3qjgdVx8P3RwAT3g"],"license":"MIT"},"contracts/rules/base/QuantammGradientBasedRule.sol":{"keccak256":"0xf29cb196d2d396bb2988d2b8666ad1ded73d28ac358dafc0b5b626eaa6742e62","urls":["bzz-raw://f4d40f199e6a17c68c01827a2138993d1f21dac93c98c5d244da1d24670325a5","dweb:/ipfs/QmQH9KJdbYHEmiNbTSeaazFvSZY18UHHHsFerh82v8e5Zj"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammMathGuard.sol":{"keccak256":"0x388fa467c5f42712aca8b4e15befb0fabe626416ace1f0f5bec2cfd2cf2bcb47","urls":["bzz-raw://9674246a3b2795e5979a35ab042ec9ea39092ff5d7c4d7f5491cc5fb34d19bfd","dweb:/ipfs/QmX9twBcRntFgCJFPXJgu5oenbg4CgTjovqjY9Rt7us1Gm"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammMathMovingAverage.sol":{"keccak256":"0x9a532f6bcd93817a1a8576a70c90f9381e92aaf82bd1bef9d297589ca86eaa5b","urls":["bzz-raw://092cdd190026894fe5113e1c9cfff78b30f68daa49caffcc79c9fbc92b09601b","dweb:/ipfs/Qmcb8XcZVe3UZAVoZ75UVh2d1jAmVk3yZpHu8zB6A1V2Gz"],"license":"BUSL-1.1"}},"version":1},"id":451} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/sepolia_deploy_060325.json rename to pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json new file mode 100644 index 00000000..3db3aaa1 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json @@ -0,0 +1,121 @@ +{ + "transactions": [ + { + "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionType": "CREATE", + "contractName": "ChainlinkOracle", + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", + "function": null, + "arguments": [ + "0x694AA1769357215DE4FAC081bf1f309aDC325306" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x5b09d", + "value": "0x0", + "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", + "nonce": "0x3e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionType": "CREATE", + "contractName": "UpdateWeightRunner", + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", + "function": null, + "arguments": [ + "0x12395366299C28492682f7853424554df0b81B38", + "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4c8659", + "value": "0x0", + "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", + "nonce": "0x3f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionType": "CREATE", + "contractName": "AntiMomentumUpdateRule", + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", + "function": null, + "arguments": [ + "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "gas": "0x4af3cd", + "value": "0x0", + "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", + "nonce": "0x40", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x129e003", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", + "transactionIndex": "0xa2", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x46079", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x164bd83", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", + "transactionIndex": "0xa3", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x3add80", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x19e655c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", + "transactionIndex": "0xa4", + "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", + "blockNumber": "0x78561e", + "gasUsed": "0x39a7d9", + "effectiveGasPrice": "0x20d3a1db13", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": null, + "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1741774592, + "chain": 11155111, + "commit": "d423799" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt b/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt new file mode 100644 index 00000000..3242eee3 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt @@ -0,0 +1,9 @@ +forge verify-contract --constructor-args 0x000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b --etherscan-api-key [] --chain 1 +1155111 0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D contracts/rules/AntimomentumUpdateRule.sol:AntimomentumUpdateRule +Start verifying contract `0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D` deployed on sepolia + +Submitting verification for [contracts/rules/AntimomentumUpdateRule.sol:AntimomentumUpdateRule] 0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D. +Submitted contract for verification: + Response: `OK` + GUID: `rmcimnmy6gdgs17rlvfsehnfdyqbhv82jwvedgcbfrpkxsilda` + URL: https://sepolia.etherscan.io/address/0xb3f69cd223252f29f47f8adf9059b9acba3ebd6d \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/verify_test.sol b/pkg/pool-quantamm/contracts/deployment/verify_test.sol new file mode 100644 index 00000000..12f295e1 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/verify_test.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + bytes memory constructorArgs = abi.encode( + address(0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B) + ); + + console.logBytes(constructorArgs); + + vm.stopBroadcast(); + } +} \ No newline at end of file From fcefe6b275f9ee3fbf5d610e0937c7915b8d878c Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 11 Mar 2025 10:07:49 +0000 Subject: [PATCH 08/64] audit review md file --- .../audit/2025-03-10-cyfrin-pool-size-limit-audit.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 pkg/pool-quantamm/audit/2025-03-10-cyfrin-pool-size-limit-audit.md diff --git a/pkg/pool-quantamm/audit/2025-03-10-cyfrin-pool-size-limit-audit.md b/pkg/pool-quantamm/audit/2025-03-10-cyfrin-pool-size-limit-audit.md new file mode 100644 index 00000000..f74c7c07 --- /dev/null +++ b/pkg/pool-quantamm/audit/2025-03-10-cyfrin-pool-size-limit-audit.md @@ -0,0 +1,7 @@ +# 2025-03-10 Cyfrin `QuantAMMWeightedPool` Contract Size Refactoring Audit + +Auditor: [Immeas](https://x.com/0ximmeas) + +During deployment testing, it was identified that the contract size of `QuantAMMWeightedPool` exceeded the contract size limit. To address this, refactoring was performed to reduce its size. The primary change involved moving the constructor and initialization checks from the pool contract to the factory. + +The modifications in this [PR](https://github.com/QuantAMMProtocol/QuantAMM-V1/pull/51) were reviewed and no issues were identified. From a2121c15445665e0e9ff489bcb56c5db662f1698 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 18 Mar 2025 16:07:35 +0000 Subject: [PATCH 09/64] initialise script --- .../contracts/deployment/pool_checks.sol | 54 +++++++++++++++++-- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol index 7b264b93..974ec3c4 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol @@ -12,8 +12,11 @@ import "../rules/PowerChannelUpdateRule.sol"; import "../UpdateWeightRunner.sol"; import "../QuantAMMWeightedPoolFactory.sol"; import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; contract Deploy is Script { function run() external { @@ -28,11 +31,52 @@ contract Deploy is Script { vm.startBroadcast(); } - uint256[] memory poolNormalizedWeights = QuantAMMWeightedPool(0x6471455C50c1Ea6e1aee1915606D9412C4496E77).getNormalizedWeights(); - - for(uint256 i = 0; i < poolNormalizedWeights.length; i++) { - console.log("Pool weights: ", poolNormalizedWeights[i]); - } + IERC20[] memory tokenAddresses = new IERC20[](2); + tokenAddresses[1] = IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8); + tokenAddresses[0] = IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03); + + IPermit2 permit2 = IPermit2(0x000000000022D473030F116dDEE9F6B43aC78BA3); // Permit2 contract address + + //IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); + //IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); + // Approve token 0 using Permit2 + permit2.approve( + address(tokenAddresses[0]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[1]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + tokenAddresses[0].approve( + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint256(2) // Expiry: 24 hours from now + ); + tokenAddresses[1].approve( + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint256(2) // Expiry: 24 hours from now + ); + + uint256[] memory weights = new uint256[](2); + weights[0] = uint256(100000000); + weights[1] = uint256(100000); + + //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), msg.sender, uint256(1)); + //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); + uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).addLiquidityUnbalanced( + 0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7, + weights, + 0, + true, + bytes("") + ); vm.stopBroadcast(); } From 19fdbf1c7a1691dc052da2afa89a631e364908e2 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 3 Apr 2025 14:38:39 +0100 Subject: [PATCH 10/64] different pool_checks --- .../11155111/run-1742314693.json | 394 ++++++++++++++++ .../11155111/run-1742314890.json | 394 ++++++++++++++++ .../11155111/run-1742314913.json | 394 ++++++++++++++++ .../11155111/run-1742314937.json | 394 ++++++++++++++++ .../11155111/run-1742314963.json | 394 ++++++++++++++++ .../11155111/run-1742314987.json | 394 ++++++++++++++++ .../11155111/run-1742315004.json | 394 ++++++++++++++++ .../11155111/run-1742315021.json | 394 ++++++++++++++++ .../11155111/run-1742315129.json | 394 ++++++++++++++++ .../11155111/run-1742315150.json | 394 ++++++++++++++++ .../11155111/run-1742315165.json | 394 ++++++++++++++++ .../11155111/run-1742315204.json | 394 ++++++++++++++++ .../11155111/run-1742315225.json | 394 ++++++++++++++++ .../11155111/run-1742315258.json | 394 ++++++++++++++++ .../11155111/run-1742315292.json | 394 ++++++++++++++++ .../11155111/run-1742315317.json | 394 ++++++++++++++++ .../11155111/run-1742315347.json | 394 ++++++++++++++++ .../11155111/run-1742315369.json | 394 ++++++++++++++++ .../11155111/run-1742315389.json | 394 ++++++++++++++++ .../11155111/run-1742315427.json | 394 ++++++++++++++++ .../11155111/run-1742315477.json | 394 ++++++++++++++++ .../11155111/run-1742315512.json | 394 ++++++++++++++++ .../11155111/run-1742315536.json | 394 ++++++++++++++++ .../11155111/run-1742315560.json | 394 ++++++++++++++++ .../11155111/run-1742315959.json | 394 ++++++++++++++++ .../11155111/run-1742315980.json | 394 ++++++++++++++++ .../11155111/run-1742316064.json | 394 ++++++++++++++++ .../11155111/run-1742316089.json | 394 ++++++++++++++++ .../11155111/run-1742316110.json | 394 ++++++++++++++++ .../11155111/run-1742316139.json | 394 ++++++++++++++++ .../11155111/run-1742316173.json | 394 ++++++++++++++++ .../11155111/run-1742316196.json | 394 ++++++++++++++++ .../11155111/run-1742316230.json | 394 ++++++++++++++++ .../11155111/run-1742316244.json | 394 ++++++++++++++++ .../11155111/run-1742316270.json | 394 ++++++++++++++++ .../11155111/run-1742316290.json | 394 ++++++++++++++++ .../11155111/run-1742316315.json | 394 ++++++++++++++++ .../11155111/run-1742316353.json | 394 ++++++++++++++++ .../11155111/run-1742316372.json | 394 ++++++++++++++++ .../11155111/run-1742316411.json | 394 ++++++++++++++++ .../11155111/run-1742316439.json | 394 ++++++++++++++++ .../11155111/run-1742316472.json | 168 +++++++ .../11155111/run-1742316495.json | 168 +++++++ .../11155111/run-1742316522.json | 168 +++++++ .../11155111/run-1742316558.json | 168 +++++++ .../11155111/run-1742316590.json | 168 +++++++ .../11155111/run-1742316620.json | 168 +++++++ .../11155111/run-1742316654.json | 168 +++++++ .../11155111/run-1742316675.json | 168 +++++++ .../11155111/run-1742316702.json | 168 +++++++ .../11155111/run-1742316734.json | 168 +++++++ .../11155111/run-1742316761.json | 168 +++++++ .../11155111/run-1742316781.json | 168 +++++++ .../11155111/run-1742316806.json | 168 +++++++ .../11155111/run-1742316832.json | 168 +++++++ .../11155111/run-1742316857.json | 168 +++++++ .../11155111/run-1742316890.json | 168 +++++++ .../11155111/run-1742316918.json | 168 +++++++ .../11155111/run-1742316955.json | 168 +++++++ .../11155111/run-1742316975.json | 168 +++++++ .../11155111/run-1742317001.json | 168 +++++++ .../11155111/run-1742317021.json | 168 +++++++ .../11155111/run-1742317060.json | 168 +++++++ .../11155111/run-1742317081.json | 168 +++++++ .../11155111/run-1742317121.json | 168 +++++++ .../11155111/run-1742404217.json | 443 ++++++++++++++++++ .../pool_checks.sol/11155111/run-latest.json | 443 ++++++++++++++++++ .../contracts/deployment/pool_checks.sol | 19 +- 68 files changed, 21078 insertions(+), 13 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json new file mode 100644 index 00000000..8debd44f --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401068" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", + "nonce": "0x59", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401068" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", + "nonce": "0x5a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x9632", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c399302800000000000000000000000000000000000000000000000000000000000000002", + "nonce": "0x5b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x9632", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c399302800000000000000000000000000000000000000000000000000000000000000002", + "nonce": "0x5c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50215", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x5d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x204cfac", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", + "transactionIndex": "0x10f", + "logIndex": "0x193", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", + "transactionIndex": "0x10f", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x201cf2de", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x2054792", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", + "transactionIndex": "0x110", + "logIndex": "0x194", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", + "transactionIndex": "0x110", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x201cf2de", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x205ae45", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", + "transactionIndex": "0x111", + "logIndex": "0x195", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", + "transactionIndex": "0x111", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "gasUsed": "0x66b3", + "effectiveGasPrice": "0x201cf2de", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x20614f8", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", + "transactionIndex": "0x112", + "logIndex": "0x196", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", + "transactionIndex": "0x112", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "gasUsed": "0x66b3", + "effectiveGasPrice": "0x201cf2de", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x209b52d", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f7", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x197", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f7", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x198", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcff6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x199", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x19a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x19b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x19c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "blockTimestamp": "0x67d99cc4", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "logIndex": "0x19d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", + "transactionIndex": "0x113", + "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", + "blockNumber": "0x78fda7", + "gasUsed": "0x3a035", + "effectiveGasPrice": "0x201cf2de", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314693, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json new file mode 100644 index 00000000..3ffb6d09 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401272" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", + "nonce": "0x5e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401272" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", + "nonce": "0x5f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x9ef7", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x60", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x9ef7", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x61", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5015b", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x62", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x13950fc", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", + "transactionIndex": "0x91", + "logIndex": "0xed", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", + "transactionIndex": "0x91", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x23c702b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x139c8e2", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", + "transactionIndex": "0x92", + "logIndex": "0xee", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", + "transactionIndex": "0x92", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x23c702b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13a3bf9", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", + "transactionIndex": "0x93", + "logIndex": "0xef", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", + "transactionIndex": "0x93", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "gasUsed": "0x7317", + "effectiveGasPrice": "0x23c702b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13aaf10", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", + "transactionIndex": "0x94", + "logIndex": "0xf0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", + "transactionIndex": "0x94", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "gasUsed": "0x7317", + "effectiveGasPrice": "0x23c702b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13e4ebf", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f3", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf1", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f3", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf2", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000045d964b7e9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "blockTimestamp": "0x67d99d84", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "logIndex": "0xf7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", + "transactionIndex": "0x95", + "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", + "blockNumber": "0x78fdb7", + "gasUsed": "0x39faf", + "effectiveGasPrice": "0x23c702b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314890, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json new file mode 100644 index 00000000..6fd72078 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401284" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", + "nonce": "0x63", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401284" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", + "nonce": "0x64", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x65", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x66", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54a82", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x67", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xcc064f", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", + "transactionIndex": "0x76", + "logIndex": "0xa0", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", + "transactionIndex": "0x76", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x244d7fd6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcc7e35", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", + "transactionIndex": "0x77", + "logIndex": "0xa1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", + "transactionIndex": "0x77", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x244d7fd6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcce65c", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", + "transactionIndex": "0x78", + "logIndex": "0xa2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", + "transactionIndex": "0x78", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x244d7fd6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcd4e83", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", + "transactionIndex": "0x79", + "logIndex": "0xa3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", + "transactionIndex": "0x79", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x244d7fd6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd0ecac", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f1", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7f1", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fda000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa6", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa8", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xa9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "blockTimestamp": "0x67d99d9c", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "logIndex": "0xaa", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", + "transactionIndex": "0x7a", + "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", + "blockNumber": "0x78fdb9", + "gasUsed": "0x39e29", + "effectiveGasPrice": "0x244d7fd6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314913, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json new file mode 100644 index 00000000..3d3ed501 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401308" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", + "nonce": "0x68", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401308" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", + "nonce": "0x69", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x6a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x6b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54a01", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x6c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc63895", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", + "transactionIndex": "0x7b", + "logIndex": "0xb1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", + "transactionIndex": "0x7b", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x2618ccdf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc6b07b", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", + "transactionIndex": "0x7c", + "logIndex": "0xb2", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", + "transactionIndex": "0x7c", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x2618ccdf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc718a2", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", + "transactionIndex": "0x7d", + "logIndex": "0xb3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", + "transactionIndex": "0x7d", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x2618ccdf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc780c9", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", + "transactionIndex": "0x7e", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", + "transactionIndex": "0x7e", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x2618ccdf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcb1e9a", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ef", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ef", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xb6", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a5287c9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xb7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xb8", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xb9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xba", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "blockTimestamp": "0x67d99db4", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "logIndex": "0xbb", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", + "transactionIndex": "0x7f", + "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", + "blockNumber": "0x78fdbb", + "gasUsed": "0x39dd1", + "effectiveGasPrice": "0x2618ccdf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314937, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json new file mode 100644 index 00000000..77e97a3c --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401332" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", + "nonce": "0x6d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401332" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", + "nonce": "0x6e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x6f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x70", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54948", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x71", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x111724a", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", + "transactionIndex": "0x8e", + "logIndex": "0xdc", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", + "transactionIndex": "0x8e", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x26d04754", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x111ea30", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", + "transactionIndex": "0x8f", + "logIndex": "0xdd", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", + "transactionIndex": "0x8f", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x26d04754", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1125257", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", + "transactionIndex": "0x90", + "logIndex": "0xde", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", + "transactionIndex": "0x90", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x26d04754", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x112ba7e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", + "transactionIndex": "0x91", + "logIndex": "0xdf", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", + "transactionIndex": "0x91", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x26d04754", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11657d1", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ed", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe0", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ed", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000008bb2c96fb6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe2", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe4", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "blockTimestamp": "0x67d99dcc", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "logIndex": "0xe6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", + "transactionIndex": "0x92", + "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", + "blockNumber": "0x78fdbd", + "gasUsed": "0x39d53", + "effectiveGasPrice": "0x26d04754", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314963, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json new file mode 100644 index 00000000..2aa3b104 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401368" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", + "nonce": "0x72", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401368" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", + "nonce": "0x73", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x74", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x75", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50068", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x76", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe210bd", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", + "transactionIndex": "0xb4", + "logIndex": "0xc7", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", + "transactionIndex": "0xb4", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x240a698a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe288a3", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", + "transactionIndex": "0xb5", + "logIndex": "0xc8", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", + "transactionIndex": "0xb5", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x240a698a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe2f0ca", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", + "transactionIndex": "0xb6", + "logIndex": "0xc9", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", + "transactionIndex": "0xb6", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x240a698a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe358f1", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", + "transactionIndex": "0xb7", + "logIndex": "0xca", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", + "transactionIndex": "0xb7", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x240a698a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe6f7f0", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ec", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xcb", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ec", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xcc", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000a2fb4057a2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xcd", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xce", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xcf", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xd0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "blockTimestamp": "0x67d99de4", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "logIndex": "0xd1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", + "transactionIndex": "0xb8", + "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", + "blockNumber": "0x78fdbf", + "gasUsed": "0x39eff", + "effectiveGasPrice": "0x240a698a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742314987, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json new file mode 100644 index 00000000..3e19ac7e --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401392" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", + "nonce": "0x77", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401392" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", + "nonce": "0x78", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x79", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x7a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54cb6", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x7b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xcd093d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", + "transactionIndex": "0x73", + "logIndex": "0xa8", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", + "transactionIndex": "0x73", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x268d3dea", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcd8123", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", + "transactionIndex": "0x74", + "logIndex": "0xa9", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", + "transactionIndex": "0x74", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x268d3dea", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcde94a", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", + "transactionIndex": "0x75", + "logIndex": "0xaa", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", + "transactionIndex": "0x75", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x268d3dea", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xce5171", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", + "transactionIndex": "0x76", + "logIndex": "0xab", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", + "transactionIndex": "0x76", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x268d3dea", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd1f11c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7eb", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7eb", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000ba43b73f8d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xaf", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xb0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "blockTimestamp": "0x67d99dfc", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "logIndex": "0xb2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", + "transactionIndex": "0x77", + "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", + "blockNumber": "0x78fdc1", + "gasUsed": "0x39fab", + "effectiveGasPrice": "0x268d3dea", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315004, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json new file mode 100644 index 00000000..7cc426b8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401404" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", + "nonce": "0x7c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401404" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", + "nonce": "0x7d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x7e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x7f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x500a8", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x80", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb22b5b", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", + "transactionIndex": "0x6a", + "logIndex": "0xbe", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", + "transactionIndex": "0x6a", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x25f9c3aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb2a341", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", + "transactionIndex": "0x6b", + "logIndex": "0xbf", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", + "transactionIndex": "0x6b", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x25f9c3aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb30b68", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", + "transactionIndex": "0x6c", + "logIndex": "0xc0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", + "transactionIndex": "0x6c", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x25f9c3aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb3738f", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", + "transactionIndex": "0x6d", + "logIndex": "0xc1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", + "transactionIndex": "0x6d", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x25f9c3aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb712bc", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ea", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7ea", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc3", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000d18c2e2777000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc7", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "blockTimestamp": "0x67d99e08", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "logIndex": "0xc8", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", + "transactionIndex": "0x6e", + "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", + "blockNumber": "0x78fdc2", + "gasUsed": "0x39f2d", + "effectiveGasPrice": "0x25f9c3aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315021, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json new file mode 100644 index 00000000..08eb24a7 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401500" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", + "nonce": "0x81", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401500" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", + "nonce": "0x82", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x83", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x84", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54acb", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x85", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1084372", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", + "transactionIndex": "0x78", + "logIndex": "0xbc", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", + "transactionIndex": "0x78", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x231c3d76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x108bb58", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", + "transactionIndex": "0x79", + "logIndex": "0xbd", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", + "transactionIndex": "0x79", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x231c3d76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10a23e2", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", + "transactionIndex": "0x7c", + "logIndex": "0xc0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", + "transactionIndex": "0x7c", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x231c3d76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10a8c09", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", + "transactionIndex": "0x7d", + "logIndex": "0xc1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", + "transactionIndex": "0x7d", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x231c3d76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10e2a64", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e9", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e9", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc3", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc7", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "blockTimestamp": "0x67d99e74", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "logIndex": "0xc8", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", + "transactionIndex": "0x7e", + "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", + "blockNumber": "0x78fdcb", + "gasUsed": "0x39e5b", + "effectiveGasPrice": "0x231c3d76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315129, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json new file mode 100644 index 00000000..b365e9e4 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401524" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", + "nonce": "0x86", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401524" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", + "nonce": "0x87", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x88", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x89", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x549c9", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x8a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xbb8d46", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", + "transactionIndex": "0x8d", + "logIndex": "0xac", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", + "transactionIndex": "0x8d", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x220dacc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbc052c", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", + "transactionIndex": "0x8e", + "logIndex": "0xad", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", + "transactionIndex": "0x8e", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x220dacc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbc6d53", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", + "transactionIndex": "0x8f", + "logIndex": "0xae", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", + "transactionIndex": "0x8f", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x220dacc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbcd57a", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", + "transactionIndex": "0x90", + "logIndex": "0xaf", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", + "transactionIndex": "0x90", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x220dacc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc07325", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb0", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000001001d1bf748000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb4", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "blockTimestamp": "0x67d99e8c", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "logIndex": "0xb6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", + "transactionIndex": "0x91", + "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", + "blockNumber": "0x78fdcd", + "gasUsed": "0x39dab", + "effectiveGasPrice": "0x220dacc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315150, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json new file mode 100644 index 00000000..bdcdec04 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401548" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", + "nonce": "0x8b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401548" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", + "nonce": "0x8c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x8d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x8e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50308", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x8f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xbe832d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", + "transactionIndex": "0x70", + "logIndex": "0xa3", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", + "transactionIndex": "0x70", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x22944602", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbefb13", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", + "transactionIndex": "0x71", + "logIndex": "0xa4", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", + "transactionIndex": "0x71", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x22944602", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbf633a", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", + "transactionIndex": "0x72", + "logIndex": "0xa5", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", + "transactionIndex": "0x72", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x22944602", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbfcb61", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", + "transactionIndex": "0x73", + "logIndex": "0xa6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", + "transactionIndex": "0x73", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x22944602", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc36c46", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xa7", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xa8", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000001176592df30000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xa9", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xaa", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xab", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "blockTimestamp": "0x67d99e98", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "logIndex": "0xad", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", + "transactionIndex": "0x74", + "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", + "blockNumber": "0x78fdce", + "gasUsed": "0x3a0e5", + "effectiveGasPrice": "0x22944602", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315165, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json new file mode 100644 index 00000000..4cc130d6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401584" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", + "nonce": "0x90", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401584" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", + "nonce": "0x91", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x92", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x93", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x504ee", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x94", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11db023", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", + "transactionIndex": "0x9a", + "logIndex": "0xb1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", + "transactionIndex": "0x9a", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1f016046", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11e2809", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", + "transactionIndex": "0x9b", + "logIndex": "0xb2", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", + "transactionIndex": "0x9b", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1f016046", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11e9030", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", + "transactionIndex": "0x9c", + "logIndex": "0xb3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", + "transactionIndex": "0x9c", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1f016046", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11ef857", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", + "transactionIndex": "0x9d", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", + "transactionIndex": "0x9d", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1f016046", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1229a9c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xb6", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000012eae09c717000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xb7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xb8", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xb9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xba", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "blockTimestamp": "0x67d99ebc", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "logIndex": "0xbb", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", + "transactionIndex": "0x9e", + "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", + "blockNumber": "0x78fdd1", + "gasUsed": "0x3a245", + "effectiveGasPrice": "0x1f016046", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315204, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json new file mode 100644 index 00000000..0e607f2d --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401596" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", + "nonce": "0x95", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401596" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", + "nonce": "0x96", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x97", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x98", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1, 1]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50440", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x99", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x86a0f4", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", + "transactionIndex": "0x74", + "logIndex": "0x85", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", + "transactionIndex": "0x74", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1f19af6b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8718da", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", + "transactionIndex": "0x75", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", + "transactionIndex": "0x75", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1f19af6b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x878101", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", + "transactionIndex": "0x76", + "logIndex": "0x87", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", + "transactionIndex": "0x76", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1f19af6b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x87e928", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", + "transactionIndex": "0x77", + "logIndex": "0x88", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", + "transactionIndex": "0x77", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1f19af6b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8b8aef", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000145f680aefe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8e", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "blockTimestamp": "0x67d99ed4", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "logIndex": "0x8f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", + "transactionIndex": "0x78", + "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", + "blockNumber": "0x78fdd3", + "gasUsed": "0x3a1c7", + "effectiveGasPrice": "0x1f19af6b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315225, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json new file mode 100644 index 00000000..63b142aa --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401632" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", + "nonce": "0x9a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401632" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", + "nonce": "0x9b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x9c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x9d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[2, 2]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54f14", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x9e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xdbbd48", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", + "transactionIndex": "0x67", + "logIndex": "0x85", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", + "transactionIndex": "0x67", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1bdad5d1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xdc352e", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", + "transactionIndex": "0x68", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", + "transactionIndex": "0x68", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1bdad5d1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xede403", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", + "transactionIndex": "0x71", + "logIndex": "0x93", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", + "transactionIndex": "0x71", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1bdad5d1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xef055e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", + "transactionIndex": "0x74", + "logIndex": "0x95", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", + "transactionIndex": "0x74", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1bdad5d1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf2a6a7", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd4", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x96", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd4", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x97", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000174876e7ed2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x98", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x99", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x9a", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x9b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "blockTimestamp": "0x67d99ef8", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "logIndex": "0x9c", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", + "transactionIndex": "0x75", + "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", + "blockNumber": "0x78fdd6", + "gasUsed": "0x3a149", + "effectiveGasPrice": "0x1bdad5d1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315258, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json new file mode 100644 index 00000000..915bbc7b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401680" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", + "nonce": "0x9f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401680" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", + "nonce": "0xa0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xa1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xa2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[2, 2]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54f51", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xa3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb0bbf4", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", + "transactionIndex": "0x87", + "logIndex": "0xb9", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", + "transactionIndex": "0x87", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1b62505c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb133da", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", + "transactionIndex": "0x88", + "logIndex": "0xba", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", + "transactionIndex": "0x88", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1b62505c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb19c01", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", + "transactionIndex": "0x89", + "logIndex": "0xbb", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", + "transactionIndex": "0x89", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1b62505c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb20428", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", + "transactionIndex": "0x8a", + "logIndex": "0xbc", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", + "transactionIndex": "0x8a", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1b62505c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5a59b", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd3", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xbd", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd3", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xbe", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000001a3185c4ea5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xbf", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xc0", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xc1", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "blockTimestamp": "0x67d99f1c", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "logIndex": "0xc3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", + "transactionIndex": "0x8b", + "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", + "blockNumber": "0x78fdd9", + "gasUsed": "0x3a173", + "effectiveGasPrice": "0x1b62505c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315292, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json new file mode 100644 index 00000000..60c83a79 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401692" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", + "nonce": "0xa4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401692" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", + "nonce": "0xa5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xa6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xa7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[2, 2]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x503fb", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xa8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf1ef77", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", + "transactionIndex": "0x7a", + "logIndex": "0xb8", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", + "transactionIndex": "0x7a", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x19c77de8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf2675d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", + "transactionIndex": "0x7b", + "logIndex": "0xb9", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", + "transactionIndex": "0x7b", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x19c77de8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf2cf84", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", + "transactionIndex": "0x7c", + "logIndex": "0xba", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", + "transactionIndex": "0x7c", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x19c77de8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf337ab", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", + "transactionIndex": "0x7d", + "logIndex": "0xbb", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", + "transactionIndex": "0x7d", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x19c77de8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf6d940", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd2", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xbc", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd2", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xbd", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e77000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xbe", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xbf", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xc0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xc1", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "blockTimestamp": "0x67d99f34", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "logIndex": "0xc2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", + "transactionIndex": "0x7e", + "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", + "blockNumber": "0x78fddb", + "gasUsed": "0x3a195", + "effectiveGasPrice": "0x19c77de8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315317, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json new file mode 100644 index 00000000..b89363b2 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401728" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", + "nonce": "0xa9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401728" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", + "nonce": "0xaa", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xab", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xac", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[2, 2]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54f7d", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xad", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xdefd00", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", + "transactionIndex": "0x75", + "logIndex": "0x9c", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", + "transactionIndex": "0x75", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1867dcef", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xdf74e6", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", + "transactionIndex": "0x76", + "logIndex": "0x9d", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", + "transactionIndex": "0x76", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1867dcef", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xdfdd0d", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", + "transactionIndex": "0x77", + "logIndex": "0x9e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", + "transactionIndex": "0x77", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1867dcef", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe04534", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", + "transactionIndex": "0x78", + "logIndex": "0x9f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", + "transactionIndex": "0x78", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1867dcef", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe3e6c5", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd1", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa0", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd1", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000002003a37ee48000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa2", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "blockTimestamp": "0x67d99f4c", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "logIndex": "0xa6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", + "transactionIndex": "0x79", + "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", + "blockNumber": "0x78fddd", + "gasUsed": "0x3a191", + "effectiveGasPrice": "0x1867dcef", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315347, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json new file mode 100644 index 00000000..b714f716 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401752" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", + "nonce": "0xae", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401752" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", + "nonce": "0xaf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xb0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xb1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[3, 3]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50381", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xb2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x10620f6", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", + "transactionIndex": "0xee", + "logIndex": "0x116", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", + "transactionIndex": "0xee", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x16ad0759", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10698dc", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", + "transactionIndex": "0xef", + "logIndex": "0x117", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", + "transactionIndex": "0xef", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x16ad0759", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1070103", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", + "transactionIndex": "0xf0", + "logIndex": "0x118", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", + "transactionIndex": "0xf0", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x16ad0759", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x107692a", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", + "transactionIndex": "0xf1", + "logIndex": "0x119", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", + "transactionIndex": "0xf1", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x16ad0759", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10b0a67", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bc", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11a", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bc", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11b", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000246139ca604000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11c", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11d", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11e", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x11f", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "blockTimestamp": "0x67d99f64", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "logIndex": "0x120", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", + "transactionIndex": "0xf2", + "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", + "blockNumber": "0x78fddf", + "gasUsed": "0x3a13d", + "effectiveGasPrice": "0x16ad0759", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315369, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json new file mode 100644 index 00000000..dd865919 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401776" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", + "nonce": "0xb3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401776" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", + "nonce": "0xb4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xb5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xb6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[3, 3]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x502c9", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xb7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x13529a6", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", + "transactionIndex": "0xb5", + "logIndex": "0x149", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", + "transactionIndex": "0xb5", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x16adca03", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x135a18c", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", + "transactionIndex": "0xb6", + "logIndex": "0x14a", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", + "transactionIndex": "0xb6", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x16adca03", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13609b3", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", + "transactionIndex": "0xb7", + "logIndex": "0x14b", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", + "transactionIndex": "0xb7", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x16adca03", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13671da", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", + "transactionIndex": "0xb8", + "logIndex": "0x14c", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", + "transactionIndex": "0xb8", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x16adca03", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x13a1291", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bb", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x14d", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bb", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x14e", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000028bed015dbf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x14f", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x150", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x151", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x152", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "blockTimestamp": "0x67d99f7c", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "logIndex": "0x153", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", + "transactionIndex": "0xb9", + "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", + "blockNumber": "0x78fde1", + "gasUsed": "0x3a0b7", + "effectiveGasPrice": "0x16adca03", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315389, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json new file mode 100644 index 00000000..ef5d157f --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401812" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", + "nonce": "0xb8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401812" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", + "nonce": "0xb9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xba", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xbb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[4, 4]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x502fd", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xbc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x92f200", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", + "transactionIndex": "0x6c", + "logIndex": "0x9c", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", + "transactionIndex": "0x6c", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x164e2471", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9369e6", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", + "transactionIndex": "0x6d", + "logIndex": "0x9d", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", + "transactionIndex": "0x6d", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x164e2471", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x93d20d", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", + "transactionIndex": "0x6e", + "logIndex": "0x9e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", + "transactionIndex": "0x6e", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x164e2471", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x943a34", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", + "transactionIndex": "0x6f", + "logIndex": "0x9f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", + "transactionIndex": "0x6f", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x164e2471", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x97db11", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fa6", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa0", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fa6", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000002e90edcfd65000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa2", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000004", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "blockTimestamp": "0x67d99fa0", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "logIndex": "0xa6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", + "transactionIndex": "0x70", + "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", + "blockNumber": "0x78fde4", + "gasUsed": "0x3a0dd", + "effectiveGasPrice": "0x164e2471", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315427, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json new file mode 100644 index 00000000..0a075854 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401848" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", + "nonce": "0xbd", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401848" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", + "nonce": "0xbe", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xbf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xc0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[5, 5]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5024e", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xc1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x8ece4d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", + "transactionIndex": "0x5f", + "logIndex": "0x7c", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", + "transactionIndex": "0x5f", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1558c052", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8f4633", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", + "transactionIndex": "0x60", + "logIndex": "0x7d", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", + "transactionIndex": "0x60", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1558c052", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8fae5a", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", + "transactionIndex": "0x61", + "logIndex": "0x7e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", + "transactionIndex": "0x61", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1558c052", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x901681", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", + "transactionIndex": "0x62", + "logIndex": "0x7f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", + "transactionIndex": "0x62", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1558c052", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x93b6e0", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a528790", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x80", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a528790", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x81", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000035d792f84f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x82", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x83", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x84", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x85", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "blockTimestamp": "0x67d99fd0", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", + "transactionIndex": "0x63", + "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", + "blockNumber": "0x78fde8", + "gasUsed": "0x3a05f", + "effectiveGasPrice": "0x1558c052", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315477, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json new file mode 100644 index 00000000..5161a9ec --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401884" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", + "nonce": "0xc2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401884" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", + "nonce": "0xc3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xc4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xc5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[5, 5]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50167", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xc6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x8a6acc", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", + "transactionIndex": "0x54", + "logIndex": "0x79", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", + "transactionIndex": "0x54", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1375e190", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8ae2b2", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", + "transactionIndex": "0x55", + "logIndex": "0x7a", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", + "transactionIndex": "0x55", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1375e190", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8b4ad9", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", + "transactionIndex": "0x56", + "logIndex": "0x7b", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", + "transactionIndex": "0x56", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1375e190", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8bb300", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", + "transactionIndex": "0x57", + "logIndex": "0x7c", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", + "transactionIndex": "0x57", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x1375e190", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8f52b7", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878f", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x7d", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878f", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x7e", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000003d1e3820c84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x7f", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x80", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x81", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x82", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "blockTimestamp": "0x67d99ff4", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "logIndex": "0x83", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", + "transactionIndex": "0x58", + "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", + "blockNumber": "0x78fdeb", + "gasUsed": "0x39fb7", + "effectiveGasPrice": "0x1375e190", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315512, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json new file mode 100644 index 00000000..8583290b --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401908" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", + "nonce": "0xc7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401908" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", + "nonce": "0xc8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xc9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xca", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[5, 5]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50308", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xcb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12068d3", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", + "transactionIndex": "0x97", + "logIndex": "0x11e", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", + "transactionIndex": "0x97", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x11b5e043", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x120e0b9", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", + "transactionIndex": "0x98", + "logIndex": "0x11f", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", + "transactionIndex": "0x98", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x11b5e043", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12148e0", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", + "transactionIndex": "0x99", + "logIndex": "0x120", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", + "transactionIndex": "0x99", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x11b5e043", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x121b107", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", + "transactionIndex": "0x9a", + "logIndex": "0x121", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", + "transactionIndex": "0x9a", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x11b5e043", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12551ec", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878e", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x122", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878e", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x123", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000004464dd49412000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x124", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x125", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x126", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x127", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "blockTimestamp": "0x67d9a00c", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "logIndex": "0x128", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", + "transactionIndex": "0x9b", + "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", + "blockNumber": "0x78fded", + "gasUsed": "0x3a0e5", + "effectiveGasPrice": "0x11b5e043", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315536, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json new file mode 100644 index 00000000..a960f942 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401932" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", + "nonce": "0xcc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742401932" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", + "nonce": "0xcd", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xce", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xcf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[5, 5]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50377", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xd0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xde9757", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", + "transactionIndex": "0x7d", + "logIndex": "0xd0", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", + "transactionIndex": "0x7d", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x11e65e27", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xdf0f3d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", + "transactionIndex": "0x7e", + "logIndex": "0xd1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", + "transactionIndex": "0x7e", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x11e65e27", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xdff862", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", + "transactionIndex": "0x80", + "logIndex": "0xd3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", + "transactionIndex": "0x80", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x11e65e27", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe06089", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", + "transactionIndex": "0x81", + "logIndex": "0xd4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", + "transactionIndex": "0x81", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x11e65e27", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe401be", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xd5", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xd6", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000004bab8271b9f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xd7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xd8", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xd9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xda", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "blockTimestamp": "0x67d9a024", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "logIndex": "0xdb", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", + "transactionIndex": "0x82", + "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", + "blockNumber": "0x78fdef", + "gasUsed": "0x3a135", + "effectiveGasPrice": "0x11e65e27", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315560, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json new file mode 100644 index 00000000..bc97890f --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402340" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", + "nonce": "0xd1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402340" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", + "nonce": "0xd2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xd3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xd4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[5, 5]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5024e", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xd5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1151057", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", + "transactionIndex": "0x7a", + "logIndex": "0xba", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", + "transactionIndex": "0x7a", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x8065c57", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x115883d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", + "transactionIndex": "0x7b", + "logIndex": "0xbb", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", + "transactionIndex": "0x7b", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x8065c57", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x117e927", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", + "transactionIndex": "0x7d", + "logIndex": "0xbf", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", + "transactionIndex": "0x7d", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x8065c57", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x118514e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", + "transactionIndex": "0x7e", + "logIndex": "0xc0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", + "transactionIndex": "0x7e", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x8065c57", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11bf1ad", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc1", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000052f2279a32c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "blockTimestamp": "0x67d9a1b0", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "logIndex": "0xc7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", + "transactionIndex": "0x7f", + "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", + "blockNumber": "0x78fe10", + "gasUsed": "0x3a05f", + "effectiveGasPrice": "0x8065c57", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315959, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json new file mode 100644 index 00000000..cdfb83cd --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402364" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", + "nonce": "0xd6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402364" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", + "nonce": "0xd7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xd8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xd9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[10, 10]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54d42", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xda", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc7536a", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", + "transactionIndex": "0x62", + "logIndex": "0x84", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", + "transactionIndex": "0x62", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x7a8828f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc7cb50", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", + "transactionIndex": "0x63", + "logIndex": "0x85", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", + "transactionIndex": "0x63", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x7a8828f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc83377", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", + "transactionIndex": "0x64", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", + "transactionIndex": "0x64", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x7a8828f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc89b9e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", + "transactionIndex": "0x65", + "logIndex": "0x87", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", + "transactionIndex": "0x65", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x7a8828f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcc3ba9", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1f", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x88", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1f", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000617f71eb24b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x8d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "blockTimestamp": "0x67d9a1c8", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "logIndex": "0x8e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", + "transactionIndex": "0x66", + "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", + "blockNumber": "0x78fe12", + "gasUsed": "0x3a00b", + "effectiveGasPrice": "0x7a8828f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742315980, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json new file mode 100644 index 00000000..26d6b856 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402436" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", + "nonce": "0xdb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402436" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", + "nonce": "0xdc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xdd", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xde", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[10, 10]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5015b", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xdf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x709fb9", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", + "transactionIndex": "0x5e", + "logIndex": "0x65", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", + "transactionIndex": "0x5e", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x74de8c0", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x71179f", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", + "transactionIndex": "0x5f", + "logIndex": "0x66", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", + "transactionIndex": "0x5f", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x74de8c0", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x717fc6", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", + "transactionIndex": "0x60", + "logIndex": "0x67", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", + "transactionIndex": "0x60", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x74de8c0", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x71e7ed", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", + "transactionIndex": "0x61", + "logIndex": "0x68", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", + "transactionIndex": "0x61", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x74de8c0", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x75879c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1e", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x69", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1e", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6a", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000700cbc3c169000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6c", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6e", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "blockTimestamp": "0x67d9a21c", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "logIndex": "0x6f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", + "transactionIndex": "0x62", + "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", + "blockNumber": "0x78fe19", + "gasUsed": "0x39faf", + "effectiveGasPrice": "0x74de8c0", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316064, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json new file mode 100644 index 00000000..3f4c7511 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402472" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", + "nonce": "0xe0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402472" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", + "nonce": "0xe1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xe2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xe3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[15, 15]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5019b", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x95893e", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", + "transactionIndex": "0x82", + "logIndex": "0x6f", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", + "transactionIndex": "0x82", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6b5d063", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x960124", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", + "transactionIndex": "0x83", + "logIndex": "0x70", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", + "transactionIndex": "0x83", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6b5d063", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x96694b", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", + "transactionIndex": "0x84", + "logIndex": "0x71", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", + "transactionIndex": "0x84", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6b5d063", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x96d172", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", + "transactionIndex": "0x85", + "logIndex": "0x72", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", + "transactionIndex": "0x85", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6b5d063", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9a714f", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796b0", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x73", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796b0", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x74", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000085e0abb5819000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x75", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x76", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x77", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x78", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "blockTimestamp": "0x67d9a234", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "logIndex": "0x79", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", + "transactionIndex": "0x86", + "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", + "blockNumber": "0x78fe1b", + "gasUsed": "0x39fdd", + "effectiveGasPrice": "0x6b5d063", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316089, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json new file mode 100644 index 00000000..efa0919e --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402484" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", + "nonce": "0xe5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402484" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", + "nonce": "0xe6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xe7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xe8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[15, 15]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54d42", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xe9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe2acfe", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", + "transactionIndex": "0x71", + "logIndex": "0x8b", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", + "transactionIndex": "0x71", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6524f79", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe324e4", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", + "transactionIndex": "0x72", + "logIndex": "0x8c", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", + "transactionIndex": "0x72", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6524f79", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe38d0b", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", + "transactionIndex": "0x73", + "logIndex": "0x8d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", + "transactionIndex": "0x73", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6524f79", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe3f532", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", + "transactionIndex": "0x74", + "logIndex": "0x8e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", + "transactionIndex": "0x74", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6524f79", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe7953d", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796af", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x8f", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796af", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x90", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000009bb49b2eec8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x91", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x92", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x93", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x94", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "blockTimestamp": "0x67d9a24c", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "logIndex": "0x95", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", + "transactionIndex": "0x75", + "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", + "blockNumber": "0x78fe1d", + "gasUsed": "0x3a00b", + "effectiveGasPrice": "0x6524f79", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316110, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json new file mode 100644 index 00000000..0ff6a4f8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402508" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", + "nonce": "0xea", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402508" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", + "nonce": "0xeb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xec", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xed", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[15, 15]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54c4d", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xee", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa9bbde", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", + "transactionIndex": "0x6e", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", + "transactionIndex": "0x6e", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x72a2b68", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xaa33c4", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", + "transactionIndex": "0x6f", + "logIndex": "0xb5", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", + "transactionIndex": "0x6f", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x72a2b68", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xaa9beb", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", + "transactionIndex": "0x70", + "logIndex": "0xb6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", + "transactionIndex": "0x70", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x72a2b68", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xab0412", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", + "transactionIndex": "0x71", + "logIndex": "0xb7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", + "transactionIndex": "0x71", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x72a2b68", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xaea375", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796ae", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xb8", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796ae", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xb9", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000b1888aa8576000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xba", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xbb", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xbc", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000000f", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xbd", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "blockTimestamp": "0x67d9a264", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "logIndex": "0xbe", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", + "transactionIndex": "0x72", + "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", + "blockNumber": "0x78fe1f", + "gasUsed": "0x39f63", + "effectiveGasPrice": "0x72a2b68", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316139, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json new file mode 100644 index 00000000..4ab8d19f --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402544" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", + "nonce": "0xef", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402544" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", + "nonce": "0xf0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xf1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xf2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[20, 20]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5015b", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x89757a", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", + "transactionIndex": "0x78", + "logIndex": "0xa0", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", + "transactionIndex": "0x78", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6badba2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x89ed60", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", + "transactionIndex": "0x79", + "logIndex": "0xa1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", + "transactionIndex": "0x79", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6badba2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8a5587", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", + "transactionIndex": "0x7a", + "logIndex": "0xa2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", + "transactionIndex": "0x7a", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6badba2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8abdae", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", + "transactionIndex": "0x7b", + "logIndex": "0xa3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", + "transactionIndex": "0x7b", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6badba2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8e5d5d", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3e", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3e", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000cea31f4a3b4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa6", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000014", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff71", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa8", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000014", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xa9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff71", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "blockTimestamp": "0x67d9a288", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "logIndex": "0xaa", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", + "transactionIndex": "0x7c", + "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", + "blockNumber": "0x78fe22", + "gasUsed": "0x39faf", + "effectiveGasPrice": "0x6badba2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316173, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json new file mode 100644 index 00000000..61a09161 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402568" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", + "nonce": "0xf4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402568" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", + "nonce": "0xf5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xf6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xf7", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[20, 20]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54cb6", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xf8", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x88153d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", + "transactionIndex": "0x77", + "logIndex": "0x9e", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", + "transactionIndex": "0x77", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6bd5e58", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x888d23", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", + "transactionIndex": "0x78", + "logIndex": "0x9f", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", + "transactionIndex": "0x78", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6bd5e58", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x88f54a", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", + "transactionIndex": "0x79", + "logIndex": "0xa0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", + "transactionIndex": "0x79", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6bd5e58", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x895d71", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", + "transactionIndex": "0x7a", + "logIndex": "0xa1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", + "transactionIndex": "0x7a", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6bd5e58", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x8cfd1c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3d", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa2", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3d", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa3", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000ebbdb3ec1f1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000014", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000014", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa7", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "blockTimestamp": "0x67d9a2a0", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "logIndex": "0xa8", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", + "transactionIndex": "0x7b", + "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", + "blockNumber": "0x78fe24", + "gasUsed": "0x39fab", + "effectiveGasPrice": "0x6bd5e58", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316196, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json new file mode 100644 index 00000000..46f7dfc2 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402592" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", + "nonce": "0xf9", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402592" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", + "nonce": "0xfa", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xfb", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0xfc", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[30, 30]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x4ffc0", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0xfd", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x796656", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", + "transactionIndex": "0x6b", + "logIndex": "0x8b", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", + "transactionIndex": "0x6b", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x738aae2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x79de3c", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", + "transactionIndex": "0x6c", + "logIndex": "0x8c", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", + "transactionIndex": "0x6c", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x738aae2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x7a4663", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", + "transactionIndex": "0x6d", + "logIndex": "0x8d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", + "transactionIndex": "0x6d", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x738aae2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x7aae8a", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", + "transactionIndex": "0x6e", + "logIndex": "0x8e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", + "transactionIndex": "0x6e", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x738aae2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x7e4d0f", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5e", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x8f", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5e", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x90", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000001176592def4f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x91", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000001e", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x92", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x93", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000001e", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x94", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "blockTimestamp": "0x67d9a2c4", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "logIndex": "0x95", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", + "transactionIndex": "0x6f", + "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", + "blockNumber": "0x78fe27", + "gasUsed": "0x39e85", + "effectiveGasPrice": "0x738aae2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316230, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json new file mode 100644 index 00000000..948e828d --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402628" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", + "nonce": "0xfe", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402628" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", + "nonce": "0xff", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x100", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x101", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[30, 30]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x549c9", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x102", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe21ee9", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", + "transactionIndex": "0x6e", + "logIndex": "0xad", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", + "transactionIndex": "0x6e", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6ebe56b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe296cf", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", + "transactionIndex": "0x6f", + "logIndex": "0xae", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", + "transactionIndex": "0x6f", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6ebe56b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe2fef6", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", + "transactionIndex": "0x70", + "logIndex": "0xaf", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", + "transactionIndex": "0x70", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6ebe56b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe3671d", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", + "transactionIndex": "0x71", + "logIndex": "0xb0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", + "transactionIndex": "0x71", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6ebe56b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe704c8", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5d", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5d", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000001430d71d1cac000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000001e", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000001e", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "blockTimestamp": "0x67d9a2d0", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "logIndex": "0xb7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", + "transactionIndex": "0x72", + "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", + "blockNumber": "0x78fe28", + "gasUsed": "0x39dab", + "effectiveGasPrice": "0x6ebe56b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316244, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json new file mode 100644 index 00000000..16216072 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402640" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", + "nonce": "0x103", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402640" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", + "nonce": "0x104", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x105", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x106", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[50, 50]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x4ff3c", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x107", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x96eb69", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", + "transactionIndex": "0x68", + "logIndex": "0x83", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", + "transactionIndex": "0x68", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6bd2c29", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x97634f", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", + "transactionIndex": "0x69", + "logIndex": "0x84", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", + "transactionIndex": "0x69", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6bd2c29", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x97cb76", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", + "transactionIndex": "0x6a", + "logIndex": "0x85", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", + "transactionIndex": "0x6a", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6bd2c29", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x98339d", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", + "transactionIndex": "0x6b", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", + "transactionIndex": "0x6b", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6bd2c29", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9bd1c2", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000048c27394b9e", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x87", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000048c27394b9e", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x88", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000018bcfe56684a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeef", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000032", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeef", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "blockTimestamp": "0x67d9a2e8", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "logIndex": "0x8d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", + "transactionIndex": "0x6c", + "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", + "blockNumber": "0x78fe2a", + "gasUsed": "0x39e25", + "effectiveGasPrice": "0x6bd2c29", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316270, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json new file mode 100644 index 00000000..11bf9a27 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402676" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", + "nonce": "0x108", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402676" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", + "nonce": "0x109", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x10a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x10b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[100, 100]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54d05", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x10c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11204c9", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", + "transactionIndex": "0x85", + "logIndex": "0xe6", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", + "transactionIndex": "0x85", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x671d510", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1127caf", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", + "transactionIndex": "0x86", + "logIndex": "0xe7", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", + "transactionIndex": "0x86", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x671d510", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x112e4d6", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", + "transactionIndex": "0x87", + "logIndex": "0xe8", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", + "transactionIndex": "0x87", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x671d510", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1134cfd", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", + "transactionIndex": "0x88", + "logIndex": "0xe9", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", + "transactionIndex": "0x88", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x671d510", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x116ecde", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000009184e729741", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xea", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000009184e729741", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xeb", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000021d54cc8ff8b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xec", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000064", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xed", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xee", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000064", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xef", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "blockTimestamp": "0x67d9a300", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "logIndex": "0xf0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", + "transactionIndex": "0x89", + "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", + "blockNumber": "0x78fe2c", + "gasUsed": "0x39fe1", + "effectiveGasPrice": "0x671d510", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316290, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json new file mode 100644 index 00000000..bf3e1bb8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402688" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", + "nonce": "0x10d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402688" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", + "nonce": "0x10e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x10f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x110", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[100, 100]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x501a7", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x111", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf1e573", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", + "transactionIndex": "0x96", + "logIndex": "0xf6", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", + "transactionIndex": "0x96", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x63ee1fa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf25d59", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", + "transactionIndex": "0x97", + "logIndex": "0xf7", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", + "transactionIndex": "0x97", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x63ee1fa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf2c580", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", + "transactionIndex": "0x98", + "logIndex": "0xf8", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", + "transactionIndex": "0x98", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x63ee1fa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf32da7", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", + "transactionIndex": "0x99", + "logIndex": "0xf9", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", + "transactionIndex": "0x99", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x63ee1fa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf6cd8c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000009184e72973e", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xfa", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000009184e72973e", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xfb", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000002aed9b3b96c9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xfc", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000064", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xfd", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe27", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xfe", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000064", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0xff", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe27", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "blockTimestamp": "0x67d9a318", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "logIndex": "0x100", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", + "transactionIndex": "0x9a", + "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", + "blockNumber": "0x78fe2e", + "gasUsed": "0x39fe5", + "effectiveGasPrice": "0x63ee1fa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316315, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json new file mode 100644 index 00000000..34028ca6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402724" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", + "nonce": "0x112", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402724" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", + "nonce": "0x113", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x114", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x115", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[200, 200]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x54e07", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x116", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa0b785", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", + "transactionIndex": "0x64", + "logIndex": "0xa8", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", + "transactionIndex": "0x64", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6759c8c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa12f6b", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", + "transactionIndex": "0x65", + "logIndex": "0xa9", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", + "transactionIndex": "0x65", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6759c8c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa19792", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", + "transactionIndex": "0x66", + "logIndex": "0xaa", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", + "transactionIndex": "0x66", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6759c8c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa1ffb9", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", + "transactionIndex": "0x67", + "logIndex": "0xab", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", + "transactionIndex": "0x67", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6759c8c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xa5a04a", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000012309ce52e80", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000012309ce52e80", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000003d1e3820c549000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000c8", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xaf", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5f", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xb0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000c8", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5f", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "blockTimestamp": "0x67d9a33c", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "logIndex": "0xb2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", + "transactionIndex": "0x68", + "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", + "blockNumber": "0x78fe31", + "gasUsed": "0x3a091", + "effectiveGasPrice": "0x6759c8c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316353, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json new file mode 100644 index 00000000..4ec894ca --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", + "nonce": "0x117", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", + "nonce": "0x118", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x119", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x11a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[300, 300]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5199d", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x11b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb90304", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", + "transactionIndex": "0x8f", + "logIndex": "0xd4", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", + "transactionIndex": "0x8f", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x62c1f90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb97aea", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", + "transactionIndex": "0x90", + "logIndex": "0xd5", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", + "transactionIndex": "0x90", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x62c1f90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb9e311", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", + "transactionIndex": "0x91", + "logIndex": "0xd6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", + "transactionIndex": "0x91", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x62c1f90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xba4b38", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", + "transactionIndex": "0x92", + "logIndex": "0xd7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", + "transactionIndex": "0x92", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x62c1f90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbdfc77", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000001b48eb57c5b9", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xd8", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000001b48eb57c5b9", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xd9", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000586723788b02000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xda", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000012c", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xdb", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc33", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xdc", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000012c", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xdd", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc33", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "blockTimestamp": "0x67d9a354", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "logIndex": "0xde", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", + "transactionIndex": "0x93", + "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", + "blockNumber": "0x78fe33", + "gasUsed": "0x3b13f", + "effectiveGasPrice": "0x62c1f90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316372, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json new file mode 100644 index 00000000..18e29498 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402796" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", + "nonce": "0x11c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402796" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", + "nonce": "0x11d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x11e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x11f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[400, 400]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x565a8", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x120", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xea001a", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", + "transactionIndex": "0x70", + "logIndex": "0x82", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", + "transactionIndex": "0x70", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x647b231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xea7800", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", + "transactionIndex": "0x71", + "logIndex": "0x83", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", + "transactionIndex": "0x71", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x647b231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xeae027", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", + "transactionIndex": "0x72", + "logIndex": "0x84", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", + "transactionIndex": "0x72", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x647b231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xeb484e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", + "transactionIndex": "0x73", + "logIndex": "0x85", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", + "transactionIndex": "0x73", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x647b231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xeef907", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000246139ca5cf5", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x86", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000000246139ca5cf5", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x87", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000007cc85d42e7f7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x88", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000190", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa3", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000190", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa3", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "blockTimestamp": "0x67d9a378", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "logIndex": "0x8c", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", + "transactionIndex": "0x74", + "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", + "blockNumber": "0x78fe36", + "gasUsed": "0x3b0b9", + "effectiveGasPrice": "0x647b231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316411, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json new file mode 100644 index 00000000..62994924 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json @@ -0,0 +1,394 @@ +{ + "transactions": [ + { + "hash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402808" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", + "nonce": "0x121", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742402808" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", + "nonce": "0x122", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x123", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0x8fdb", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x124", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[500, 500]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x56463", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x125", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x159a447", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", + "transactionIndex": "0x9e", + "logIndex": "0xf0", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", + "transactionIndex": "0x9e", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6625792", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x15a1c2d", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", + "transactionIndex": "0x9f", + "logIndex": "0xf1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", + "transactionIndex": "0x9f", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x6625792", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x15a8454", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", + "transactionIndex": "0xa0", + "logIndex": "0xf2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", + "transactionIndex": "0xa0", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6625792", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x15aec7b", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", + "transactionIndex": "0xa1", + "logIndex": "0xf3", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", + "type": "0x2", + "transactionHash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", + "transactionIndex": "0xa1", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "gasUsed": "0x6827", + "effectiveGasPrice": "0x6625792", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x15e9c56", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000002d79883cf42f", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf4", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000002d79883cf42f", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf5", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000000aa41e57fdc26000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf6", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000001f4", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf7", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8af", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf8", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000001f4", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xf9", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8af", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "blockTimestamp": "0x67d9a390", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "logIndex": "0xfa", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", + "transactionIndex": "0xa2", + "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", + "blockNumber": "0x78fe38", + "gasUsed": "0x3afdb", + "effectiveGasPrice": "0x6625792", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316439, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json new file mode 100644 index 00000000..6874ae4a --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1000, 1000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x564d8", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x126", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xab3988", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000005af31079e862", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x78", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000005af31079e862", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x79", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000010534f5f9c488000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x7a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x7b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c7", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x7c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x7d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c7", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "blockTimestamp": "0x67d9a3b4", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "logIndex": "0x7e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", + "transactionIndex": "0x74", + "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", + "blockNumber": "0x78fe3b", + "gasUsed": "0x3b02b", + "effectiveGasPrice": "0x6366b28", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316472, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json new file mode 100644 index 00000000..e6c04921 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1000, 1000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x516c4", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x127", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1656088", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000005af31079e855", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x118", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000005af31079e855", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x119", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000160280673acdd000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x11a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x11b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x11c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x11d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "blockTimestamp": "0x67d9a3cc", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "logIndex": "0x11e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", + "transactionIndex": "0xc1", + "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", + "blockNumber": "0x78fe3d", + "gasUsed": "0x3af2f", + "effectiveGasPrice": "0x5e30baa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316495, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json new file mode 100644 index 00000000..2611e899 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[3000, 3000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x563e2", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x128", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xbcb1b1", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000110d9316db916", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x65", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000110d9316db916", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x66", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000002710137e165f3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x67", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x68", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x69", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x6a", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "blockTimestamp": "0x67d9a3e4", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "logIndex": "0x6b", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", + "transactionIndex": "0x73", + "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", + "blockNumber": "0x78fe3f", + "gasUsed": "0x3af83", + "effectiveGasPrice": "0x5ebd2c4", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316522, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json new file mode 100644 index 00000000..0587f56d --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[3000, 3000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5167f", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x129", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x2112f94", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000110d9316db8f8", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x129", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000110d9316db8f8", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12a", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000381da694f1eeb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12b", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12c", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96f", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12d", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12e", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96f", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "blockTimestamp": "0x67d9a408", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "logIndex": "0x12f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", + "transactionIndex": "0xca", + "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", + "blockNumber": "0x78fe42", + "gasUsed": "0x3aefd", + "effectiveGasPrice": "0x5204466", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316558, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json new file mode 100644 index 00000000..ee77b5fa --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[4000, 4000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5615e", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x104c41b", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000016bcc41e7a137", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000016bcc41e7a137", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000004eda6ab36c022000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000fa0", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb4", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9cf", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000fa0", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb6", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9cf", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "blockTimestamp": "0x67d9a42c", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "logIndex": "0xb7", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", + "transactionIndex": "0x75", + "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", + "blockNumber": "0x78fe45", + "gasUsed": "0x3adcb", + "effectiveGasPrice": "0x6266a8f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316590, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json new file mode 100644 index 00000000..f4fa2777 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[7000, 7000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x562d5", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x19a7398", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000027ca573555a15", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x81", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000027ca573555a15", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x82", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000076a4c1e8c1a37000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000001b58000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x83", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000001b58", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x84", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffae77", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x85", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000001b58", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x86", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffae77", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "blockTimestamp": "0x67d9a444", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "logIndex": "0x87", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", + "transactionIndex": "0x65", + "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", + "blockNumber": "0x78fe47", + "gasUsed": "0x3aecb", + "effectiveGasPrice": "0x782a437", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316620, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json new file mode 100644 index 00000000..0cb5b930 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[10000, 10000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x56254", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x13aab4c", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c312cd", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x8d", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c312cd", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x8e", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000af7cac34f2d04000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x8f", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x90", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8767", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x91", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x92", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8767", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "blockTimestamp": "0x67d9a468", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "logIndex": "0x93", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", + "transactionIndex": "0x78", + "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", + "blockNumber": "0x78fe4a", + "gasUsed": "0x3ae73", + "effectiveGasPrice": "0x80a916a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316654, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json new file mode 100644 index 00000000..66a7bfd4 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[10000, 10000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51772", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe90258", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c31278", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xaa", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c31278", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xab", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000000e854968123f7c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6057", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000002710", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xaf", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6057", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "blockTimestamp": "0x67d9a480", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "logIndex": "0xb0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", + "transactionIndex": "0x67", + "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", + "blockNumber": "0x78fe4c", + "gasUsed": "0x3afad", + "effectiveGasPrice": "0x7fc4e50", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316675, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json new file mode 100644 index 00000000..0fa76adb --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[20000, 20000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x56463", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa5a6c4", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000071afd498624fa", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0x9c", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000071afd498624fa", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0x9d", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000015a046b1986476000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0x9e", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000004e20", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0x9f", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1237", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0xa0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000004e20", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0xa1", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1237", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "blockTimestamp": "0x67d9a498", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "logIndex": "0xa2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", + "transactionIndex": "0x88", + "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", + "blockNumber": "0x78fe4e", + "gasUsed": "0x3afdb", + "effectiveGasPrice": "0x7cada69", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316702, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json new file mode 100644 index 00000000..458d0b70 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[30000, 30000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x515d1", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000753000000000000000000000000000000000000000000000000000000000000075300000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x12f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb09dfb", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000aa87bee4936ff", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x6d", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000000aa87bee4936ff", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x6e", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000002048c29fe19b75000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000075300000000000000000000000000000000000000000000000000000000000007530000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x6f", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000007530", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x70", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9d07", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x71", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000007530", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x72", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9d07", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "blockTimestamp": "0x67d9a4bc", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "logIndex": "0x73", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", + "transactionIndex": "0x77", + "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", + "blockNumber": "0x78fe51", + "gasUsed": "0x3ae7f", + "effectiveGasPrice": "0x7284529", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316734, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json new file mode 100644 index 00000000..96677074 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[70000, 70000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51627", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001117000000000000000000000000000000000000000000000000000000000000111700000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x130", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa7b780", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000018de768155800f", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x7b", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000018de768155800f", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x7c", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000039273921371b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000111700000000000000000000000000000000000000000000000000000000000011170000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x7d", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000011170", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x7e", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8b97", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x7f", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000011170", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x80", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8b97", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "blockTimestamp": "0x67d9a4d4", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "logIndex": "0x81", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", + "transactionIndex": "0x89", + "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", + "blockNumber": "0x78fe53", + "gasUsed": "0x3aebd", + "effectiveGasPrice": "0x6e5b080", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316761, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json new file mode 100644 index 00000000..ab0c30d6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[100000, 100000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5170f", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x131", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x100c039", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb4da", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xd6", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb4da", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xd7", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000005cae2b90d5d05e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xd8", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xd9", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc04f7", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xda", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xdb", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc04f7", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "blockTimestamp": "0x67d9a4ec", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "logIndex": "0xdc", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", + "transactionIndex": "0x89", + "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", + "blockNumber": "0x78fe55", + "gasUsed": "0x3af65", + "effectiveGasPrice": "0x6f1ca12", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316781, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json new file mode 100644 index 00000000..ac555929 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[100000, 100000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51579", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x132", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1a969a8", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb1ae", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x180", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb1ae", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x181", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000080351e0074820c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x182", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x183", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e57", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x184", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x185", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e57", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "blockTimestamp": "0x67d9a504", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "logIndex": "0x186", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", + "transactionIndex": "0xd9", + "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", + "blockNumber": "0x78fe57", + "gasUsed": "0x3ae3f", + "effectiveGasPrice": "0x643b080", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316806, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json new file mode 100644 index 00000000..e1628618 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[200000, 200000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x5608c", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x133", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7afd4f", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000470de4df3d62c2", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x80", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000000470de4df3d62c2", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x81", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000000c74302dfb1e4ce000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x82", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000030d40", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x83", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff77117", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x84", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000030d40", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x85", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff77117", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "blockTimestamp": "0x67d9a51c", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", + "transactionIndex": "0x60", + "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", + "blockNumber": "0x78fe59", + "gasUsed": "0x3ad3b", + "effectiveGasPrice": "0x70c90bf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316832, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json new file mode 100644 index 00000000..86d00282 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[400000, 400000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50e2b", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x134", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7e6d7f", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000008e1bc9be7ac1c4", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x87", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000008e1bc9be7ac1c4", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x88", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000001555ecc9e2ca692000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000061a80000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000061a80", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff15697", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000061a80", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff15697", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "blockTimestamp": "0x67d9a534", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "logIndex": "0x8d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", + "transactionIndex": "0x6b", + "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", + "blockNumber": "0x78fe5b", + "gasUsed": "0x3a8f5", + "effectiveGasPrice": "0x6b14c52", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316857, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json new file mode 100644 index 00000000..a9f5fa21 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[800000, 800000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x50de9", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000000c35000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x135", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd148c6", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000011c37937cf5796e", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb0", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000011c37937cf5796e", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000027196601b222000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000c3500", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb3", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe52197", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb4", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000c3500", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb5", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe52197", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "blockTimestamp": "0x67d9a558", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "logIndex": "0xb6", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", + "transactionIndex": "0x80", + "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", + "blockNumber": "0x78fe5e", + "gasUsed": "0x3a8c5", + "effectiveGasPrice": "0x6354a76", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316890, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json new file mode 100644 index 00000000..d6106a4c --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[1000000, 1000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51149", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x136", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa00fca", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785c32bf28", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x71", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785c32bf28", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x72", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000003d4dbd87754df28000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x73", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x74", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5df57", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x75", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x76", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5df57", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "blockTimestamp": "0x67d9a570", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "logIndex": "0x77", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", + "transactionIndex": "0x52", + "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", + "blockNumber": "0x78fe60", + "gasUsed": "0x3ab37", + "effectiveGasPrice": "0x6c09393", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316918, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json new file mode 100644 index 00000000..c0ed6b76 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[3000000, 3000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51324", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000002dc6c00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x137", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc312d5", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069149835f6", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x94", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000429d069149835f6", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x95", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000007feac418bed151e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000002dc6c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x96", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000002dc6c0", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x97", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa81897", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x98", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000002dc6c0", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x99", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa81897", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "blockTimestamp": "0x67d9a594", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "logIndex": "0x9a", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", + "transactionIndex": "0x7a", + "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", + "blockNumber": "0x78fe63", + "gasUsed": "0x3ac8f", + "effectiveGasPrice": "0x5c88534", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316955, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json new file mode 100644 index 00000000..29cf6933 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[7000000, 7000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x51149", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc000000000000000000000000000000000000000000000000000000000006acfc00000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x138", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xdbe1c7", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000009b6e64a8562c4d8", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xa9", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000009b6e64a8562c4d8", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xaa", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000011b5928c114fd9f6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc000000000000000000000000000000000000000000000000000000000006acfc0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xab", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000006acfc0", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d48d7", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000006acfc0", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d48d7", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "blockTimestamp": "0x67d9a5ac", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "logIndex": "0xaf", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", + "transactionIndex": "0x77", + "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", + "blockNumber": "0x78fe65", + "gasUsed": "0x3ab37", + "effectiveGasPrice": "0x56597aa", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742316975, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json new file mode 100644 index 00000000..572fa6b9 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[10000000, 10000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x55e4c", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x139", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xdcb870", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b399f9eab3", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b399f9eab3", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000001f96493fab49c4a9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x8d", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x8e", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffea4b257", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x8f", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x90", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffea4b257", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "blockTimestamp": "0x67d9a5c4", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "logIndex": "0x91", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", + "transactionIndex": "0x70", + "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", + "blockNumber": "0x78fe67", + "gasUsed": "0x3abb1", + "effectiveGasPrice": "0x521c7a1", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742317001, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json new file mode 100644 index 00000000..d20106b6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[30000000, 30000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x56066", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11e9ae4", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000029a2241acdecdb9e", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x105", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000029a2241acdecdb9e", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x106", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x00000000000000000000000000000000000000000000000049386d5a7936a047000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000001c9c380000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x107", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001c9c380", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x108", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffcdaeed7", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x109", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000001c9c380", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x10a", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffcdaeed7", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "blockTimestamp": "0x67d9a5dc", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "logIndex": "0x10b", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", + "transactionIndex": "0x87", + "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", + "blockNumber": "0x78fe69", + "gasUsed": "0x3ad21", + "effectiveGasPrice": "0x4fd2a7b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742317021, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json new file mode 100644 index 00000000..e6d38380 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[100000000, 100000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x55c26", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x986413", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230403bb73e5", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9a", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230403bb73e5", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9b", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000000d3ff905e7cf2142c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9c", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9d", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffff6e50dd7", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9e", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0x9f", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffff6e50dd7", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "blockTimestamp": "0x67d9a600", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "logIndex": "0xa0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", + "transactionIndex": "0x7f", + "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", + "blockNumber": "0x78fe6c", + "gasUsed": "0x3aa39", + "effectiveGasPrice": "0x4d26231", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742317060, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json new file mode 100644 index 00000000..133f1af8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[300000000, 300000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x55b5f", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xbbc385", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000001a055690c0b203496", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xab", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x000000000000000000000000000000000000000000000001a055690c0b203496", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xac", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000027454f96a881248c2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000011e1a300000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000011e1a300", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5036ad7", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xaf", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000011e1a300", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xb0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5036ad7", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "blockTimestamp": "0x67d9a618", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "logIndex": "0xb1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", + "transactionIndex": "0x93", + "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", + "blockNumber": "0x78fe6e", + "gasUsed": "0x3a9b1", + "effectiveGasPrice": "0x46413c2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742317081, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json new file mode 100644 index 00000000..6dd346ef --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json @@ -0,0 +1,168 @@ +{ + "transactions": [ + { + "hash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", + "arguments": [ + "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "[600000000, 600000000]", + "0", + "false", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x511b8", + "value": "0x0", + "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1ac18ff", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000340aad21816125792", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x14f", + "removed": false + }, + { + "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x00000000000000000000000000000000000000000000000340aad21816125792", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x150", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x000000000000000000000000000000000000000000000005b4ffcb829e24a054000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000023c34600000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x151", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000023c34600", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x152", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffc14024d7", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x153", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000023c34600", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x154", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffc14024d7", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "blockTimestamp": "0x67d9a63c", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "logIndex": "0x155", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", + "transactionIndex": "0xd9", + "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", + "blockNumber": "0x78fe71", + "gasUsed": "0x3ab87", + "effectiveGasPrice": "0x3eb2001", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742317121, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json new file mode 100644 index 00000000..33e99ef5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x144", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x145", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742490588" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "nonce": "0x146", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742490588" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "nonce": "0x147", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[100000000, 100000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x62db1", + "value": "0x0", + "input": "0x026b3d950000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x148", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe2f197", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionIndex": "0x7d", + "logIndex": "0xd4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionIndex": "0x7d", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe36472", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionIndex": "0x7e", + "logIndex": "0xd5", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionIndex": "0x7e", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe3dc58", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionIndex": "0x7f", + "logIndex": "0xd6", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionIndex": "0x7f", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe4543e", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionIndex": "0x80", + "logIndex": "0xd7", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionIndex": "0x80", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe8cd5d", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xd8", + "removed": false + }, + { + "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xd9", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xda", + "removed": false + }, + { + "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdb", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489e4f2aa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdc", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0" + ], + "data": "0x", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdd", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xde", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdf", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xe0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xe1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002010000000000000000010000000000000000000000000800000000000000000240000802000000000000000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000080000000000000000000000040000000000000000000000110000004000020000c00180000000044000000000000000000020000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x4791f", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742404217, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json new file mode 100644 index 00000000..33e99ef5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x144", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x145", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742490588" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "nonce": "0x146", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1742490588" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "nonce": "0x147", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[100000000, 100000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x62db1", + "value": "0x0", + "input": "0x026b3d950000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x148", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe2f197", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionIndex": "0x7d", + "logIndex": "0xd4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "transactionIndex": "0x7d", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe36472", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionIndex": "0x7e", + "logIndex": "0xd5", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "transactionIndex": "0x7e", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe3dc58", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionIndex": "0x7f", + "logIndex": "0xd6", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "transactionIndex": "0x7f", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe4543e", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionIndex": "0x80", + "logIndex": "0xd7", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "transactionIndex": "0x80", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xe8cd5d", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xd8", + "removed": false + }, + { + "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xd9", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xda", + "removed": false + }, + { + "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdb", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489e4f2aa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdc", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0" + ], + "data": "0x", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdd", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xde", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xdf", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xe0", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "blockTimestamp": "0x67dafa74", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "logIndex": "0xe1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002010000000000000000010000000000000000000000000800000000000000000240000802000000000000000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000080000000000000000000000040000000000000000000000110000004000020000c00180000000044000000000000000000020000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "transactionIndex": "0x81", + "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", + "blockNumber": "0x7919df", + "gasUsed": "0x4791f", + "effectiveGasPrice": "0x42edd835", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1742404217, + "chain": 11155111, + "commit": "c5d8f79" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol index 974ec3c4..abe0fcbe 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool_checks.sol @@ -37,8 +37,8 @@ contract Deploy is Script { IPermit2 permit2 = IPermit2(0x000000000022D473030F116dDEE9F6B43aC78BA3); // Permit2 contract address - //IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); - //IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); // Approve token 0 using Permit2 permit2.approve( address(tokenAddresses[0]), @@ -55,23 +55,16 @@ contract Deploy is Script { uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); - tokenAddresses[0].approve( - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens - uint256(2) // Expiry: 24 hours from now - ); - tokenAddresses[1].approve( - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens - uint256(2) // Expiry: 24 hours from now - ); uint256[] memory weights = new uint256[](2); weights[0] = uint256(100000000); - weights[1] = uint256(100000); + weights[1] = uint256(100000000); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); - uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).addLiquidityUnbalanced( - 0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7, + uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( + 0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0, + tokenAddresses, weights, 0, true, From 0ce23c98bf8e1ca5af681fa0c8f70e68b8214496 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 12 Mar 2025 22:12:30 +0000 Subject: [PATCH 11/64] push hardhat optimiser runs for further efficiencies --- pkg/pool-quantamm/hardhat.config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/pool-quantamm/hardhat.config.ts b/pkg/pool-quantamm/hardhat.config.ts index 3bf5aeda..275d3c4c 100644 --- a/pkg/pool-quantamm/hardhat.config.ts +++ b/pkg/pool-quantamm/hardhat.config.ts @@ -26,7 +26,7 @@ export default { evmVersion: 'cancun', optimizer: { enabled: true, - runs: 500, + runs: 850, details: { yulDetails: { optimizerSteps, @@ -42,7 +42,7 @@ export default { evmVersion: 'cancun', optimizer: { enabled: true, - runs: 500, + runs: 850, details: { yulDetails: { optimizerSteps, From 92d1d9f718bc0a2001f15654667ce9c395dda951 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 3 Apr 2025 15:20:15 +0100 Subject: [PATCH 12/64] add view functions for intermediate states to help monitoring and DR mitigation --- .../base/QuantammCovarianceBasedRule.sol | 39 +++++++++-- .../rules/base/QuantammGradientBasedRule.sol | 27 ++++++-- .../rules/base/QuantammMathMovingAverage.sol | 13 +++- .../rules/base/QuantammVarianceBasedRule.sol | 26 ++++++-- .../test/foundry/rules/base/Covariance.t.sol | 64 +++++++++++++------ .../test/foundry/rules/base/Gradient.t.sol | 48 ++++++++++---- .../test/foundry/rules/base/Variance.t.sol | 56 ++++++++++------ 7 files changed, 199 insertions(+), 74 deletions(-) diff --git a/pkg/pool-quantamm/contracts/rules/base/QuantammCovarianceBasedRule.sol b/pkg/pool-quantamm/contracts/rules/base/QuantammCovarianceBasedRule.sol index 1174d51e..029aa733 100644 --- a/pkg/pool-quantamm/contracts/rules/base/QuantammCovarianceBasedRule.sol +++ b/pkg/pool-quantamm/contracts/rules/base/QuantammCovarianceBasedRule.sol @@ -17,6 +17,31 @@ abstract contract QuantAMMCovarianceBasedRule is VectorRuleQuantAMMStorage { //key is pool address, value is the intermediate state of the covariance matrix in a packed array of 128 bit integers mapping(address => int256[]) internal intermediateCovarianceStates; + /// @notice View function to get the intermediate covariance state for a given pool + /// @param poolAddress The address of the pool + /// @param numberOfAssets The number of assets in the pool + /// @return The unpacked intermediate covariance state as a 1D flattened array of int256 + function getIntermediateCovarianceState( + address poolAddress, + uint numberOfAssets + ) external view returns (int256[] memory) { + int256[][] memory unpackedMatrix = _quantAMMUnpack128Matrix( + intermediateCovarianceStates[poolAddress], + numberOfAssets + ); + + uint256 flattenedLength = numberOfAssets * numberOfAssets; + int256[] memory flattenedArray = new int256[](flattenedLength); + + for (uint i = 0; i < numberOfAssets; i++) { + for (uint j = 0; j < numberOfAssets; j++) { + flattenedArray[i * numberOfAssets + j] = unpackedMatrix[i][j]; + } + } + + return flattenedArray; + } + /// @dev struct to avoind stack to deep issues /// @notice Struct to store local variables for the covariance calculation /// @param n Dimension of square matrix @@ -44,7 +69,7 @@ abstract contract QuantAMMCovarianceBasedRule is VectorRuleQuantAMMStorage { /// @param _poolParameters pool parameters /// @return newState new state of the covariance matrix function _calculateQuantAMMCovariance( - int256[] memory _newData, + int256[] memory _newData, QuantAMMPoolParameters memory _poolParameters ) internal returns (int256[][] memory) { QuantAMMCovariance memory locals; @@ -134,13 +159,15 @@ abstract contract QuantAMMCovarianceBasedRule is VectorRuleQuantAMMStorage { uint _numberOfAssets ) internal { uint storeLength = intermediateCovarianceStates[_poolAddress].length; - + uint256 totalValues = _initialValues.length * _initialValues.length; bool evenInitialValues = totalValues % 2 == 0; - if (_initialValues.length == _numberOfAssets && - (storeLength == 0 - || (evenInitialValues && totalValues / 2 == storeLength) - || (!evenInitialValues && (totalValues + 1) / 2 == storeLength))) { + if ( + _initialValues.length == _numberOfAssets && + (storeLength == 0 || + (evenInitialValues && totalValues / 2 == storeLength) || + (!evenInitialValues && (totalValues + 1) / 2 == storeLength)) + ) { for (uint i; i < _numberOfAssets; ) { require(_initialValues[i].length == _numberOfAssets, "Bad init covar row"); unchecked { diff --git a/pkg/pool-quantamm/contracts/rules/base/QuantammGradientBasedRule.sol b/pkg/pool-quantamm/contracts/rules/base/QuantammGradientBasedRule.sol index 19691b1c..06900769 100644 --- a/pkg/pool-quantamm/contracts/rules/base/QuantammGradientBasedRule.sol +++ b/pkg/pool-quantamm/contracts/rules/base/QuantammGradientBasedRule.sol @@ -36,10 +36,21 @@ abstract contract QuantAMMGradientBasedRule is ScalarRuleQuantAMMStorage { int256[] intermediateGradientState; } + /// @notice View function to get the intermediate gradient state for a given pool + /// @param poolAddress The address of the pool + /// @param numberOfAssets The number of assets in the pool + /// @return The unpacked intermediate gradient state as an array of int256 + function getIntermediateGradientState( + address poolAddress, + uint numberOfAssets + ) external view returns (int256[] memory) { + return _quantAMMUnpack128Array(intermediateGradientStates[poolAddress], numberOfAssets); + } + /// @param _newData p(t) /// @param _poolParameters pool parameters function _calculateQuantAMMGradient( - int256[] memory _newData, + int256[] memory _newData, QuantAMMPoolParameters memory _poolParameters ) internal returns (int256[] memory) { QuantAMMGradientLocals memory locals; @@ -93,7 +104,7 @@ abstract contract QuantAMMGradientBasedRule is ScalarRuleQuantAMMStorage { locals.intermediateGradientState[i], locals.secondIntermediateValue ); - + // the storage array is tracked separately unchecked { i += 2; @@ -185,7 +196,7 @@ abstract contract QuantAMMGradientBasedRule is ScalarRuleQuantAMMStorage { ); locals.finalValues[numberOfAssetsMinusOne] = locals.mulFactor.mul(locals.intermediateValue); - + //CODEHAWKS INFO /s/755 intermediateGradientStates[_poolParameters.pool][locals.storageArrayIndex] = _quantAMMPackTwo128( int256(0), @@ -204,12 +215,14 @@ abstract contract QuantAMMGradientBasedRule is ScalarRuleQuantAMMStorage { uint storeLength = intermediateGradientStates[poolAddress].length; //CODEHAWKS /s/444 - if (_initialValues.length == _numberOfAssets - && (storeLength == 0 - || (_initialValues.length % 2 == 0 && (_initialValues.length / 2) == storeLength) + if ( + _initialValues.length == _numberOfAssets && + (storeLength == 0 || + (_initialValues.length % 2 == 0 && (_initialValues.length / 2) == storeLength) || //This does not check the last half of the last sticky end, you could set +1 but given numAssets //normally passed by the update weight runner this will be wiped on first run if an extra weight is set - || (_initialValues.length % 2 != 0 && (_initialValues.length / 2) + 1 == storeLength))) { + (_initialValues.length % 2 != 0 && (_initialValues.length / 2) + 1 == storeLength)) + ) { //should be during create pool intermediateGradientStates[poolAddress] = _quantAMMPack128Array(_initialValues); } else { diff --git a/pkg/pool-quantamm/contracts/rules/base/QuantammMathMovingAverage.sol b/pkg/pool-quantamm/contracts/rules/base/QuantammMathMovingAverage.sol index 35ca2183..40939e54 100644 --- a/pkg/pool-quantamm/contracts/rules/base/QuantammMathMovingAverage.sol +++ b/pkg/pool-quantamm/contracts/rules/base/QuantammMathMovingAverage.sol @@ -14,6 +14,14 @@ abstract contract QuantAMMMathMovingAverage is ScalarRuleQuantAMMStorage { // this can be just the moving averages per token, or if prev moving average is true then it is [...moving averages, ...prev moving averages] mapping(address => int256[]) public movingAverages; + /// @notice View function to get the moving averages for a given pool + /// @param poolAddress The address of the pool + /// @param numberOfAssets The number of assets in the pool + /// @return The unpacked moving averages as an array of int256 + function getMovingAverages(address poolAddress, uint numberOfAssets) external view returns (int256[] memory) { + return _quantAMMUnpack128Array(movingAverages[poolAddress], numberOfAssets); + } + /// @notice Calculates the new moving average value, i.e. p̅(t) = p̅(t - 1) + (1 - λ)(p(t) - p̅(t - 1)) /// @param _prevMovingAverage p̅(t - 1) /// @param _newData p(t) @@ -22,7 +30,7 @@ abstract contract QuantAMMMathMovingAverage is ScalarRuleQuantAMMStorage { /// @return p̅(t) avertage price of the pool function _calculateQuantAMMMovingAverage( int256[] memory _prevMovingAverage, - int256[] memory _newData, + int256[] memory _newData, int128[] memory _lambda, uint _numberOfAssets ) internal pure returns (int256[] memory) { @@ -67,8 +75,7 @@ abstract contract QuantAMMMathMovingAverage is ScalarRuleQuantAMMStorage { uint _numberOfAssets ) internal { //CODEHAWKS H-04 no longer storing prev, also /s/767 - if (_initialMovingAverages.length == _numberOfAssets) - { + if (_initialMovingAverages.length == _numberOfAssets) { //should be during create pool movingAverages[_poolAddress] = _quantAMMPack128Array(_initialMovingAverages); } else { diff --git a/pkg/pool-quantamm/contracts/rules/base/QuantammVarianceBasedRule.sol b/pkg/pool-quantamm/contracts/rules/base/QuantammVarianceBasedRule.sol index 773ed219..21913724 100644 --- a/pkg/pool-quantamm/contracts/rules/base/QuantammVarianceBasedRule.sol +++ b/pkg/pool-quantamm/contracts/rules/base/QuantammVarianceBasedRule.sol @@ -19,6 +19,17 @@ contract QuantAMMVarianceBasedRule is ScalarRuleQuantAMMStorage { // Key is the pool address and stores the intermediate variance state in a packed array of 128 bit integers mapping(address => int256[]) internal intermediateVarianceStates; + /// @notice View function to get the intermediate variance state for a given pool + /// @param poolAddress The address of the pool + /// @param numberOfAssets The number of assets in the pool + /// @return The unpacked intermediate variance state as an array of int256 + function getIntermediateVarianceState( + address poolAddress, + uint numberOfAssets + ) external view returns (int256[] memory) { + return _quantAMMUnpack128Array(intermediateVarianceStates[poolAddress], numberOfAssets); + } + /// @dev struct to avoind stack to deep issues /// @notice Struct to store local variables for the variance calculation /// @param storageIndex index of the storage array @@ -192,12 +203,11 @@ contract QuantAMMVarianceBasedRule is ScalarRuleQuantAMMStorage { locals.intermediateVarianceState[locals.nMinusOne] = locals.intermediateState; locals.finalState[locals.nMinusOne] = locals.oneMinusLambda.mul(locals.intermediateState); - + //CODEHAWKS INFO /s/755 intermediateVarianceStates[_poolParameters.pool][locals.storageIndex] = _quantAMMPackTwo128( int256(0), - locals - .intermediateVarianceState[locals.nMinusOne] + locals.intermediateVarianceState[locals.nMinusOne] ); } } @@ -217,10 +227,12 @@ contract QuantAMMVarianceBasedRule is ScalarRuleQuantAMMStorage { bool evenInitialValues = _initialValues.length % 2 == 0; //CODEHAWKS M-18 - if ((_initialValues.length == _numberOfAssets) && - (storeLength == 0 - || evenInitialValues && _initialValues.length / 2 == storeLength - || !evenInitialValues && (_initialValues.length + 1) / 2 == storeLength)) { + if ( + (_initialValues.length == _numberOfAssets) && + (storeLength == 0 || + (evenInitialValues && _initialValues.length / 2 == storeLength) || + (!evenInitialValues && (_initialValues.length + 1) / 2 == storeLength)) + ) { //should be during create pool intermediateVarianceStates[_poolAddress] = _quantAMMPack128Array(_initialValues); } else { diff --git a/pkg/pool-quantamm/test/foundry/rules/base/Covariance.t.sol b/pkg/pool-quantamm/test/foundry/rules/base/Covariance.t.sol index 20699f43..a9ae977d 100644 --- a/pkg/pool-quantamm/test/foundry/rules/base/Covariance.t.sol +++ b/pkg/pool-quantamm/test/foundry/rules/base/Covariance.t.sol @@ -27,12 +27,12 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { } function testInitialSettingOfCovariance(uint256 unboundedNumberOfAssets) public { - uint256 numberOfAssets = bound(unboundedNumberOfAssets,2,8); + uint256 numberOfAssets = bound(unboundedNumberOfAssets, 2, 8); mockPool.setNumberOfAssets(numberOfAssets); int256[][] memory initialCovariances = new int256[][](numberOfAssets); - for(uint256 i = 0; i < numberOfAssets; i++){ + for (uint256 i = 0; i < numberOfAssets; i++) { initialCovariances[i] = new int256[](numberOfAssets); for (uint256 j = 0; j < numberOfAssets; j++) { @@ -43,21 +43,26 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { mockCalculationRule.setInitialCovariance(address(mockPool), initialCovariances, numberOfAssets); int256[][] memory results = mockCalculationRule.getIntermediateCovariance(address(mockPool), numberOfAssets); + int256[] memory flattenedResults = mockCalculationRule.getIntermediateCovarianceState( + address(mockPool), + numberOfAssets + ); for (uint256 i = 0; i < numberOfAssets; i++) { - for(uint256 j = 0; j < numberOfAssets; j++){ + for (uint256 j = 0; j < numberOfAssets; j++) { assertEq(results[i][j], initialCovariances[i][j]); + assertEq(flattenedResults[i * numberOfAssets + j], initialCovariances[i][j]); } } } function testBreakGlassSettingOfCovariances(uint256 unboundedNumberOfAssets) public { - uint256 numberOfAssets = bound(unboundedNumberOfAssets,2,8); + uint256 numberOfAssets = bound(unboundedNumberOfAssets, 2, 8); mockPool.setNumberOfAssets(numberOfAssets); int256[][] memory initialCovariances = new int256[][](numberOfAssets); - for(uint256 i = 0; i < numberOfAssets; i++){ + for (uint256 i = 0; i < numberOfAssets; i++) { initialCovariances[i] = new int256[](numberOfAssets); for (uint256 j = 0; j < numberOfAssets; j++) { @@ -68,14 +73,19 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { mockCalculationRule.setInitialCovariance(address(mockPool), initialCovariances, numberOfAssets); int256[][] memory results = mockCalculationRule.getIntermediateCovariance(address(mockPool), numberOfAssets); + int256[] memory flattenedResults = mockCalculationRule.getIntermediateCovarianceState( + address(mockPool), + numberOfAssets + ); for (uint256 i = 0; i < numberOfAssets; i++) { - for(uint256 j = 0; j < numberOfAssets; j++){ + for (uint256 j = 0; j < numberOfAssets; j++) { assertEq(results[i][j], initialCovariances[i][j]); + assertEq(flattenedResults[i * numberOfAssets + j], initialCovariances[i][j]); } } for (uint256 i = 0; i < numberOfAssets; i++) { - for(uint256 j = 0; j < numberOfAssets; j++){ + for (uint256 j = 0; j < numberOfAssets; j++) { initialCovariances[i][j] = PRBMathSD59x18.fromInt(int256(i + 3)); } } @@ -83,10 +93,12 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { mockCalculationRule.setInitialCovariance(address(mockPool), initialCovariances, numberOfAssets); results = mockCalculationRule.getIntermediateCovariance(address(mockPool), numberOfAssets); + flattenedResults = mockCalculationRule.getIntermediateCovarianceState(address(mockPool), numberOfAssets); for (uint256 i = 0; i < numberOfAssets; i++) { - for(uint256 j = 0; j < numberOfAssets; j++){ + for (uint256 j = 0; j < numberOfAssets; j++) { assertEq(results[i][j], initialCovariances[i][j]); + assertEq(flattenedResults[i * numberOfAssets + j], initialCovariances[i][j]); } } } @@ -96,15 +108,15 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { int256[][] memory priceDataBn, int256[][] memory movingAverages, int256[][] memory initialCovariance, - bool vectorLambda) internal returns (int256[][][] memory results) { - + bool vectorLambda + ) internal returns (int256[][][] memory results) { mockCalculationRule.setInitialCovariance(address(mockPool), initialCovariance, priceData[0].length); mockCalculationRule.setPrevMovingAverage(movingAverages[0]); results = new int256[][][](movingAverages.length); int128[] memory lambda = new int128[](vectorLambda ? priceData[0].length : 1); - for(uint256 i = 0; i < lambda.length; i++) { + for (uint256 i = 0; i < lambda.length; i++) { lambda[i] = int128(uint128(0.5e18)); } console.log("lambda", lambda.length); @@ -133,7 +145,13 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { int256[][][] memory expectedRes, bool vectorLambda ) internal { - int256[][][] memory results = testCovariance(priceData, priceDataBn, movingAverages, initialCovariance, vectorLambda); + int256[][][] memory results = testCovariance( + priceData, + priceDataBn, + movingAverages, + initialCovariance, + vectorLambda + ); checkCovarianceResult(priceData, results, expectedRes); } @@ -327,7 +345,11 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { [PRBMathSD59x18.fromInt(2076), PRBMathSD59x18.fromInt(2034), PRBMathSD59x18.fromInt(2034)] ], [ - [PRBMathSD59x18.fromInt(1120) + 1875e14, PRBMathSD59x18.fromInt(1115) + 5e17, PRBMathSD59x18.fromInt(1115) + 5e17], + [ + PRBMathSD59x18.fromInt(1120) + 1875e14, + PRBMathSD59x18.fromInt(1115) + 5e17, + PRBMathSD59x18.fromInt(1115) + 5e17 + ], [PRBMathSD59x18.fromInt(1115) + 5e17, PRBMathSD59x18.fromInt(1117), PRBMathSD59x18.fromInt(1117)], [PRBMathSD59x18.fromInt(1115) + 5e17, PRBMathSD59x18.fromInt(1117), PRBMathSD59x18.fromInt(1117)] ] @@ -338,7 +360,11 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { } // Fuzz test for covariance calculation with random number of assets - function testFuzz_CovarianceCalculationAccess(uint256 unboundNumAssets, uint256 unboundNumberOfCalculations, bool vectorLambda) public { + function testFuzz_CovarianceCalculationAccess( + uint256 unboundNumAssets, + uint256 unboundNumberOfCalculations, + bool vectorLambda + ) public { uint256 numAssets = bound(unboundNumAssets, 2, 8); uint256 numberOfCalculations = bound(unboundNumberOfCalculations, 1, 20); @@ -352,10 +378,10 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { priceDataBn[i] = new int256[](numAssets); movingAverages[i] = new int256[](numAssets * 2); for (uint256 j = 0; j < numAssets; j++) { - priceData[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 100 + j * 10)); - priceDataBn[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 100 + j * 10)); - movingAverages[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 50 + j * 5)); - movingAverages[i][j + numAssets] = PRBMathSD59x18.fromInt(1000 + int256(i * 50 + j * 5)); + priceData[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 100 + j * 10)); + priceDataBn[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 100 + j * 10)); + movingAverages[i][j] = PRBMathSD59x18.fromInt(1000 + int256(i * 50 + j * 5)); + movingAverages[i][j + numAssets] = PRBMathSD59x18.fromInt(1000 + int256(i * 50 + j * 5)); } } @@ -363,7 +389,7 @@ contract QuantAMMCoVarianceRuleTest is Test, QuantAMMTestUtils { for (uint256 i = 0; i < numAssets; i++) { initialCovariance[i] = new int256[](numAssets); for (uint256 j = 0; j < numAssets; j++) { - initialCovariance[i][j] = 0; + initialCovariance[i][j] = 0; } } diff --git a/pkg/pool-quantamm/test/foundry/rules/base/Gradient.t.sol b/pkg/pool-quantamm/test/foundry/rules/base/Gradient.t.sol index 9e67f799..b6ea43d0 100644 --- a/pkg/pool-quantamm/test/foundry/rules/base/Gradient.t.sol +++ b/pkg/pool-quantamm/test/foundry/rules/base/Gradient.t.sol @@ -31,7 +31,7 @@ contract QuantAMMGradientRuleTests is Test, QuantAMMTestUtils { require(delta <= tolerance, "Values are not within tolerance"); } -function calculateGradient( + function calculateGradient( int256[][] memory priceData, int256[][] memory priceDataBn, int256[][] memory movingAverages, @@ -58,6 +58,7 @@ function calculateGradient( return results; } + // Function to test gradient calculation function testGradient( int256[][] memory priceData, @@ -67,8 +68,13 @@ function calculateGradient( int128[] memory lambdas, int256[][] memory expectedRes ) internal { - - int256[][] memory results = calculateGradient(priceData, priceDataBn, movingAverages, initialGradients, lambdas); + int256[][] memory results = calculateGradient( + priceData, + priceDataBn, + movingAverages, + initialGradients, + lambdas + ); checkResult(priceData, results, expectedRes); } @@ -87,7 +93,7 @@ function calculateGradient( } function testInitialSettingOfGradients(uint256 unboundedNumberOfAssets) public { - uint256 numberOfAssets = bound(unboundedNumberOfAssets,2,8); + uint256 numberOfAssets = bound(unboundedNumberOfAssets, 2, 8); mockPool.setNumberOfAssets(numberOfAssets); @@ -98,15 +104,20 @@ function calculateGradient( mockCalculationRule.setInitialGradient(address(mockPool), initialGradients, numberOfAssets); + int256[] memory intermediateResults = mockCalculationRule.getIntermediateGradientState( + address(mockPool), + numberOfAssets + ); int256[] memory results = mockCalculationRule.getInitialGradient(address(mockPool), numberOfAssets); for (uint256 i = 0; i < numberOfAssets; i++) { assertEq(results[i], initialGradients[i]); + assertEq(intermediateResults[i], initialGradients[i]); } } function testBreakGlassSettingOfGradients(uint256 unboundedNumberOfAssets) public { - uint256 numberOfAssets = bound(unboundedNumberOfAssets,2,8); + uint256 numberOfAssets = bound(unboundedNumberOfAssets, 2, 8); mockPool.setNumberOfAssets(numberOfAssets); @@ -118,9 +129,14 @@ function calculateGradient( mockCalculationRule.setInitialGradient(address(mockPool), initialGradients, numberOfAssets); int256[] memory results = mockCalculationRule.getInitialGradient(address(mockPool), numberOfAssets); + int256[] memory intermediateResults = mockCalculationRule.getIntermediateGradientState( + address(mockPool), + numberOfAssets + ); for (uint256 i = 0; i < numberOfAssets; i++) { assertEq(results[i], initialGradients[i]); + assertEq(intermediateResults[i], initialGradients[i]); } for (uint256 i = 0; i < numberOfAssets; i++) { @@ -130,9 +146,11 @@ function calculateGradient( mockCalculationRule.setInitialGradient(address(mockPool), initialGradients, numberOfAssets); results = mockCalculationRule.getInitialGradient(address(mockPool), numberOfAssets); + intermediateResults = mockCalculationRule.getIntermediateGradientState(address(mockPool), numberOfAssets); for (uint256 i = 0; i < numberOfAssets; i++) { assertEq(results[i], initialGradients[i]); + assertEq(intermediateResults[i], initialGradients[i]); } } @@ -272,6 +290,7 @@ function calculateGradient( testGradient(priceData, priceDataBn, movingAverages, gradients, lambdas, expectedRes); } + // Vector Lambda parameters // 2 tokens function testGradientCalculation2TokensVectorLambda() public { @@ -327,6 +346,7 @@ function calculateGradient( testGradient(priceData, priceDataBn, movingAverages, gradients, lambdas, expectedRes); } + // 3 tokens function testGradientCalculation3TokensVectorLambda() public { mockPool.setNumberOfAssets(3); @@ -400,7 +420,11 @@ function calculateGradient( } // Fuzz test for gradient calculation with random number of assets - function testFuzz_GradientCalculationAccess(uint256 unboundNumAssets, uint256 unboundNumberOfCalculations, bool scalarLambda) public { + function testFuzz_GradientCalculationAccess( + uint256 unboundNumAssets, + uint256 unboundNumberOfCalculations, + bool scalarLambda + ) public { uint256 numAssets = bound(unboundNumAssets, 2, 8); uint256 numberOfCalculations = bound(unboundNumberOfCalculations, 1, 20); @@ -422,17 +446,16 @@ function calculateGradient( } int256[] memory gradients = new int256[](numAssets); - - for(uint256 i = 0; i < numAssets; i++){ + + for (uint256 i = 0; i < numAssets; i++) { gradients[i] = PRBMathSD59x18.fromInt(0); } - + int128[] memory lambdas; - if(scalarLambda){ + if (scalarLambda) { lambdas = new int128[](1); lambdas[0] = LAMBDA; - } - else{ + } else { lambdas = new int128[](numAssets); for (uint256 i = 0; i < numAssets; i++) { lambdas[i] = LAMBDA; @@ -441,5 +464,4 @@ function calculateGradient( calculateGradient(priceData, priceDataBn, movingAverages, gradients, lambdas); } - } diff --git a/pkg/pool-quantamm/test/foundry/rules/base/Variance.t.sol b/pkg/pool-quantamm/test/foundry/rules/base/Variance.t.sol index a6a79197..080b240e 100644 --- a/pkg/pool-quantamm/test/foundry/rules/base/Variance.t.sol +++ b/pkg/pool-quantamm/test/foundry/rules/base/Variance.t.sol @@ -26,7 +26,7 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { mockQuantAMMMathGuard = new MockQuantAMMMathGuard(); } - function calculateVariance ( + function calculateVariance( int256[][] memory priceData, int256[][] memory priceDataBn, int256[][] memory movingAverages, @@ -39,9 +39,9 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { int256[][] memory results = new int256[][](movingAverages.length); int128[] memory lambda; - if(vectorLambda) { + if (vectorLambda) { lambda = new int128[](priceData[0].length); - for(uint i = 0; i < priceData[0].length; i++) { + for (uint i = 0; i < priceData[0].length; i++) { lambda[i] = int128(uint128(0.5e18)); } } else { @@ -64,6 +64,7 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { } return results; } + // Function to test Variance calculation function testVariance( int256[][] memory priceData, @@ -73,7 +74,13 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { int256[][] memory expectedRes, bool vectorLambda ) internal { - int256[][] memory results = calculateVariance(priceData, priceDataBn, movingAverages, initialVariance, vectorLambda); + int256[][] memory results = calculateVariance( + priceData, + priceDataBn, + movingAverages, + initialVariance, + vectorLambda + ); checkResult(priceData, results, expectedRes); } @@ -92,10 +99,7 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { } // Check results with tolerance - function checkResult( - int256[][] memory res, - int256[][] memory expectedRes - ) internal pure { + function checkResult(int256[][] memory res, int256[][] memory expectedRes) internal pure { for (uint256 i = 0; i < res.length; i++) { assertEq(expectedRes[i], res[i]); // Compare for exact equality } @@ -248,33 +252,47 @@ contract QuantAMMVarianceRuleTest is Test, QuantAMMTestUtils { uint numAssets = bound(unboundNumAssets, 2, 8); mockPool.setNumberOfAssets(numAssets); int256[] memory initialVariance = new int256[](numAssets); - for(uint i = 0; i < numAssets; i++) { + for (uint i = 0; i < numAssets; i++) { initialVariance[i] = PRBMathSD59x18.fromInt(int256(i)); } mockCalculationRule.setInitialVariance(address(mockPool), initialVariance, numAssets); - int256[] memory savedInitialVariance = mockCalculationRule.getIntermediateVariance(address(mockPool), numAssets); + int256[] memory savedInitialVariance = mockCalculationRule.getIntermediateVariance( + address(mockPool), + numAssets + ); checkResult(initialVariance, savedInitialVariance); - - for(uint i = 0; i < numAssets; i++) { + + // Additional check using getIntermediateVarianceState + int256[] memory stateVariance = mockCalculationRule.getIntermediateVarianceState(address(mockPool), numAssets); + checkResult(initialVariance, stateVariance); + + for (uint i = 0; i < numAssets; i++) { initialVariance[i] = PRBMathSD59x18.fromInt(int256(i)) + PRBMathSD59x18.fromInt(int256(1)); } - + //break glass post initialisation mockCalculationRule.setInitialVariance(address(mockPool), initialVariance, numAssets); savedInitialVariance = mockCalculationRule.getIntermediateVariance(address(mockPool), numAssets); checkResult(initialVariance, savedInitialVariance); - - } - + + // Additional check using getIntermediateVarianceState + stateVariance = mockCalculationRule.getIntermediateVarianceState(address(mockPool), numAssets); + checkResult(initialVariance, stateVariance); + } + // Fuzz test for Variance calculation with varying number of assets - function testVarianceStorageAccessFuzz(uint256 unboundNumAssets, uint256 unboundNumCalcs, bool vectorLambda) public { - uint256 numAssets = bound(unboundNumAssets,2,8); - uint256 boundNumCalcs = bound(unboundNumCalcs,1,20); + function testVarianceStorageAccessFuzz( + uint256 unboundNumAssets, + uint256 unboundNumCalcs, + bool vectorLambda + ) public { + uint256 numAssets = bound(unboundNumAssets, 2, 8); + uint256 boundNumCalcs = bound(unboundNumCalcs, 1, 20); mockPool.setNumberOfAssets(numAssets); int256[][] memory priceData = new int256[][](boundNumCalcs); From 3f5690a059ab0a40742da6968f81e58df8c9c85f Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 7 Apr 2025 17:26:21 +0100 Subject: [PATCH 13/64] new scripts --- .../11155111/run-1743759879.json | 67 +++ .../11155111/run-1743761728.json | 67 +++ .../11155111/run-1744026448.json | 67 +++ .../11155111/run-latest.json | 67 +++ .../11155111/run-1743762134.json | 69 +++ .../11155111/run-1744026594.json | 69 +++ .../11155111/run-latest.json | 69 +++ .../11155111/run-1743761584.json | 443 ++++++++++++++++++ .../11155111/run-1744026377.json | 443 ++++++++++++++++++ .../11155111/run-latest.json | 443 ++++++++++++++++++ .../11155111/run-1743759914.json | 65 +++ .../11155111/run-1743761768.json | 65 +++ .../11155111/run-1743769419.json | 65 +++ .../11155111/run-1743770141.json | 65 +++ .../11155111/run-1744026530.json | 65 +++ .../11155111/run-latest.json | 65 +++ .../11155111/run-1743762446.json | 96 ++++ .../11155111/run-1743770396.json | 96 ++++ .../11155111/run-1744026823.json | 96 ++++ .../11155111/run-latest.json | 96 ++++ .../11155111/run-1743769013.json | 96 ++++ .../11155111/run-1743769290.json | 96 ++++ .../11155111/run-1743769369.json | 32 ++ .../11155111/run-1743769932.json | 96 ++++ .../11155111/run-1743770178.json | 96 ++++ .../11155111/run-1743770573.json | 96 ++++ .../11155111/run-1743772470.json | 96 ++++ .../11155111/run-1743773094.json | 96 ++++ .../pool_check.sol/11155111/run-latest.json | 96 ++++ .../11155111/run-1743757912.json | 443 ++++++++++++++++++ .../pool_checks.sol/11155111/run-latest.json | 302 ++++++------ .../contracts/UpdateWeightRunner.sol | 7 + .../deployment/approve_pool_for_use.sol | 38 ++ .../initialise_intermediate_values.sol | 47 ++ .../{pool_checks.sol => initialise_pool.sol} | 6 +- .../deployment/initialise_rule_runner.sol | 38 ++ .../contracts/deployment/perform_update.sol | 39 ++ .../contracts/deployment/pool_check.sol | 95 ++++ 38 files changed, 4239 insertions(+), 154 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json create mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json create mode 100644 pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol rename pkg/pool-quantamm/contracts/deployment/{pool_checks.sol => initialise_pool.sol} (95%) create mode 100644 pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/perform_update.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/pool_check.sol diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json new file mode 100644 index 00000000..5cf37ba8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xfa38", + "value": "0x0", + "input": "0xaebdc7f30000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa840000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x161", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe844c7", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0x85b6034455c2be2caba4c163f512a29fb0531677e567d1f9409981f397fc919f", + "blockNumber": "0x7ace1a", + "blockTimestamp": "0x67efaa04", + "transactionHash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", + "transactionIndex": "0x80", + "logIndex": "0xd0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000800000000020800000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", + "transactionIndex": "0x80", + "blockHash": "0x85b6034455c2be2caba4c163f512a29fb0531677e567d1f9409981f397fc919f", + "blockNumber": "0x7ace1a", + "gasUsed": "0xb528", + "effectiveGasPrice": "0x47f92aa5", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743759879, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json new file mode 100644 index 00000000..e273bde5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xfa38", + "value": "0x0", + "input": "0xaebdc7f3000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e0000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x169", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x14b047e", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0xfa38d17c3b41612fd1aef51624e83198da97e6a30803874cbaa07f29e178a8c7", + "blockNumber": "0x7aceb4", + "blockTimestamp": "0x67efb13c", + "transactionHash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", + "transactionIndex": "0xa1", + "logIndex": "0xdd", + "removed": false + } + ], + "logsBloom": "0x00000010000000010000000000000000000000000000000000000000000000000000000000000000000001000000000400000000000000000000000000020000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", + "transactionIndex": "0xa1", + "blockHash": "0xfa38d17c3b41612fd1aef51624e83198da97e6a30803874cbaa07f29e178a8c7", + "blockNumber": "0x7aceb4", + "gasUsed": "0xb528", + "effectiveGasPrice": "0x6ca6fe49", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743761728, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json new file mode 100644 index 00000000..40af77b5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xfa38", + "value": "0x0", + "input": "0xaebdc7f30000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c30000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x18c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf0e67e", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", + "blockNumber": "0x7b230f", + "blockTimestamp": "0x67f3bb4c", + "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionIndex": "0x62", + "logIndex": "0x90", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionIndex": "0x62", + "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", + "blockNumber": "0x7b230f", + "gasUsed": "0xb528", + "effectiveGasPrice": "0x2a767d85", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026448, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json new file mode 100644 index 00000000..40af77b5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xfa38", + "value": "0x0", + "input": "0xaebdc7f30000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c30000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x18c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf0e67e", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", + "blockNumber": "0x7b230f", + "blockTimestamp": "0x67f3bb4c", + "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionIndex": "0x62", + "logIndex": "0x90", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "transactionIndex": "0x62", + "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", + "blockNumber": "0x7b230f", + "gasUsed": "0xb528", + "effectiveGasPrice": "0x2a767d85", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026448, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json new file mode 100644 index 00000000..726893fc --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "[1000000000000000000, 1000000000000000000]", + "[1000000000000000000, 1000000000000000000]", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x1121e", + "value": "0x0", + "input": "0xd4ead0b20000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x16b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xed706c", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0xd9b9c9835a5d84672b3cae86fcc392d6990443997301a0335d16c28d15872b32", + "blockNumber": "0x7aced6", + "blockTimestamp": "0x67efb2d4", + "transactionHash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", + "transactionIndex": "0x87", + "logIndex": "0xda", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000800000200000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080000000000000002804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", + "transactionIndex": "0x87", + "blockHash": "0xd9b9c9835a5d84672b3cae86fcc392d6990443997301a0335d16c28d15872b32", + "blockNumber": "0x7aced6", + "gasUsed": "0xc675", + "effectiveGasPrice": "0x8784f415", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743762134, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json new file mode 100644 index 00000000..e0b69c66 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "[1000000000000000000, 1000000000000000000]", + "[1000000000000000000, 1000000000000000000]", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x1121e", + "value": "0x0", + "input": "0xd4ead0b20000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x18e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa41f06", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", + "blockNumber": "0x7b231b", + "blockTimestamp": "0x67f3bbdc", + "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionIndex": "0x62", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080800000000000000804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionIndex": "0x62", + "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", + "blockNumber": "0x7b231b", + "gasUsed": "0xc675", + "effectiveGasPrice": "0x23344d82", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026594, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json new file mode 100644 index 00000000..e0b69c66 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "[1000000000000000000, 1000000000000000000]", + "[1000000000000000000, 1000000000000000000]", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x1121e", + "value": "0x0", + "input": "0xd4ead0b20000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x18e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa41f06", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", + "blockNumber": "0x7b231b", + "blockTimestamp": "0x67f3bbdc", + "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionIndex": "0x62", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080800000000000000804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "transactionIndex": "0x62", + "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", + "blockNumber": "0x7b231b", + "gasUsed": "0xc675", + "effectiveGasPrice": "0x23344d82", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026594, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json new file mode 100644 index 00000000..cdd735c1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x164", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x165", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1743847956" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", + "nonce": "0x166", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1743847956" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", + "nonce": "0x167", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[10000000, 10000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x63087", + "value": "0x0", + "input": "0x026b3d95000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x168", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xcfadda", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", + "transactionIndex": "0x88", + "logIndex": "0xc1", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", + "transactionIndex": "0x88", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x57914cc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd020b5", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", + "transactionIndex": "0x89", + "logIndex": "0xc2", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", + "transactionIndex": "0x89", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x57914cc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd0989b", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", + "transactionIndex": "0x8a", + "logIndex": "0xc3", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", + "transactionIndex": "0x8a", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x57914cc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd11081", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", + "transactionIndex": "0x8b", + "logIndex": "0xc4", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", + "transactionIndex": "0x8b", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x57914cc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd58bad", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xc7", + "removed": false + }, + { + "address": "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xc8", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xc9", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e" + ], + "data": "0x", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xca", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xcb", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xcc", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xcd", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "blockTimestamp": "0x67efb0ac", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "logIndex": "0xce", + "removed": false + } + ], + "logsBloom": "0x00000010000000010040000000000000000080000000400000004000002000000000000000000000000001000000000000000000800000000000000000260000802000000000000000004008004000000020000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000444000000000000000000000000000000000000000000000000002000001000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", + "transactionIndex": "0x8c", + "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", + "blockNumber": "0x7acea8", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x57914cc2", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743761584, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json new file mode 100644 index 00000000..0a02172a --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x187", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x188", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744112748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "nonce": "0x189", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744112748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "nonce": "0x18a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[10000000, 10000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x63087", + "value": "0x0", + "input": "0x026b3d950000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x18b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb9392c", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionIndex": "0x69", + "logIndex": "0xbc", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionIndex": "0x69", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb9ac07", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionIndex": "0x6a", + "logIndex": "0xbd", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionIndex": "0x6a", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xba23ed", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionIndex": "0x6b", + "logIndex": "0xbe", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionIndex": "0x6b", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xba9bd3", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionIndex": "0x6c", + "logIndex": "0xbf", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionIndex": "0x6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbf16ff", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc0", + "removed": false + }, + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc3", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc4", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc7", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc8", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc9", + "removed": false + } + ], + "logsBloom": "0x00000000000080010040000000000000000280000000400000004000002000000000000000000000000000000000000000080000800000000000000000240000802000000000000000004008004000000000000000040800000008020000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000044000000000800000000000000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026377, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json new file mode 100644 index 00000000..0a02172a --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x187", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x188", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744112748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "nonce": "0x189", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744112748" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "nonce": "0x18a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[10000000, 10000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x63087", + "value": "0x0", + "input": "0x026b3d950000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x18b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb9392c", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionIndex": "0x69", + "logIndex": "0xbc", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "transactionIndex": "0x69", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb9ac07", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionIndex": "0x6a", + "logIndex": "0xbd", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "transactionIndex": "0x6a", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xba23ed", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionIndex": "0x6b", + "logIndex": "0xbe", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "transactionIndex": "0x6b", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xba9bd3", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionIndex": "0x6c", + "logIndex": "0xbf", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "transactionIndex": "0x6c", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xbf16ff", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc0", + "removed": false + }, + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc1", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc2", + "removed": false + }, + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc3", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc4", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc5", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc6", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc7", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc8", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "blockTimestamp": "0x67f3bb04", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "logIndex": "0xc9", + "removed": false + } + ], + "logsBloom": "0x00000000000080010040000000000000000280000000400000004000002000000000000000000000000000000000000000080000800000000000000000240000802000000000000000004008004000000000000000040800000008020000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000044000000000800000000000000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "transactionIndex": "0x6d", + "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", + "blockNumber": "0x7b2309", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x29369fc7", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026377, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json new file mode 100644 index 00000000..c57b63a8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xa7e2", + "value": "0x0", + "input": "0xce768b320000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x162", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x86a6c2", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x4b232ed6a3cb54a88c45fea9e92e37c752e91566786fb0b5e93b0e0b1aeab588", + "blockNumber": "0x7ace1d", + "blockTimestamp": "0x67efaa28", + "transactionHash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", + "transactionIndex": "0x65", + "logIndex": "0x8f", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", + "transactionIndex": "0x65", + "blockHash": "0x4b232ed6a3cb54a88c45fea9e92e37c752e91566786fb0b5e93b0e0b1aeab588", + "blockNumber": "0x7ace1d", + "gasUsed": "0x798c", + "effectiveGasPrice": "0x4a9a8927", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743759914, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json new file mode 100644 index 00000000..0ba7aabf --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xa7e2", + "value": "0x0", + "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x16a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd9a467", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xdbe13ae153c54219a1cdd58a50ec631a5283ce42d5df9413f4375b629f40c5cf", + "blockNumber": "0x7aceb7", + "blockTimestamp": "0x67efb160", + "transactionHash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", + "transactionIndex": "0x77", + "logIndex": "0xd7", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", + "transactionIndex": "0x77", + "blockHash": "0xdbe13ae153c54219a1cdd58a50ec631a5283ce42d5df9413f4375b629f40c5cf", + "blockNumber": "0x7aceb7", + "gasUsed": "0x798c", + "effectiveGasPrice": "0x71cda479", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743761768, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json new file mode 100644 index 00000000..092290bb --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x98c6", + "value": "0x0", + "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x170", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12ed5af", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x3650b1bda5d5025d048d25e1377b407dd2b1aa20fffe3957366dcc0c49b7bde3", + "blockNumber": "0x7ad134", + "blockTimestamp": "0x67efcf48", + "transactionHash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", + "transactionIndex": "0x83", + "logIndex": "0xde", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", + "transactionIndex": "0x83", + "blockHash": "0x3650b1bda5d5025d048d25e1377b407dd2b1aa20fffe3957366dcc0c49b7bde3", + "blockNumber": "0x7ad134", + "gasUsed": "0x6e9c", + "effectiveGasPrice": "0x719f983c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743769419, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json new file mode 100644 index 00000000..ff57c864 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x98c6", + "value": "0x0", + "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x172", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb137ff", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xb3c0043e57dfa2eba215714627d68e777bb7d9c52d4976cbaa7f45a9a2d80769", + "blockNumber": "0x7ad170", + "blockTimestamp": "0x67efd218", + "transactionHash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", + "transactionIndex": "0x78", + "logIndex": "0x8f", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", + "transactionIndex": "0x78", + "blockHash": "0xb3c0043e57dfa2eba215714627d68e777bb7d9c52d4976cbaa7f45a9a2d80769", + "blockNumber": "0x7ad170", + "gasUsed": "0x6e9c", + "effectiveGasPrice": "0x8d40ba83", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743770141, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json new file mode 100644 index 00000000..b6c56480 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xa7e2", + "value": "0x0", + "input": "0xce768b320000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x18d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb34f2d", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", + "blockNumber": "0x7b2316", + "blockTimestamp": "0x67f3bba0", + "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionIndex": "0x6d", + "logIndex": "0xa6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionIndex": "0x6d", + "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", + "blockNumber": "0x7b2316", + "gasUsed": "0x798c", + "effectiveGasPrice": "0x264d196e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026530, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json new file mode 100644 index 00000000..b6c56480 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xa7e2", + "value": "0x0", + "input": "0xce768b320000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x18d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb34f2d", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", + "blockNumber": "0x7b2316", + "blockTimestamp": "0x67f3bba0", + "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionIndex": "0x6d", + "logIndex": "0xa6", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "transactionIndex": "0x6d", + "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", + "blockNumber": "0x7b2316", + "gasUsed": "0x798c", + "effectiveGasPrice": "0x264d196e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026530, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json new file mode 100644 index 00000000..28107c1e --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x423de", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x16c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1191447", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efb40c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", + "blockNumber": "0x7acef0", + "blockTimestamp": "0x67efb40c", + "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", + "transactionIndex": "0x77", + "logIndex": "0x18d", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efb40c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", + "blockNumber": "0x7acef0", + "blockTimestamp": "0x67efb40c", + "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", + "transactionIndex": "0x77", + "logIndex": "0x18e", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", + "blockNumber": "0x7acef0", + "blockTimestamp": "0x67efb40c", + "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", + "transactionIndex": "0x77", + "logIndex": "0x18f", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", + "transactionIndex": "0x77", + "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", + "blockNumber": "0x7acef0", + "gasUsed": "0x2d4b3", + "effectiveGasPrice": "0x92bc8660", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743762446, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json new file mode 100644 index 00000000..5c6ed4d6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x174", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1414530", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd314000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", + "blockNumber": "0x7ad185", + "blockTimestamp": "0x67efd314", + "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", + "transactionIndex": "0x89", + "logIndex": "0x9a", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd314000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", + "blockNumber": "0x7ad185", + "blockTimestamp": "0x67efd314", + "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", + "transactionIndex": "0x89", + "logIndex": "0x9b", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", + "blockNumber": "0x7ad185", + "blockTimestamp": "0x67efd314", + "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", + "transactionIndex": "0x89", + "logIndex": "0x9c", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", + "transactionIndex": "0x89", + "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", + "blockNumber": "0x7ad185", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x616f07cc", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743770396, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json new file mode 100644 index 00000000..78f7e7af --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x4b0d0", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "nonce": "0x18f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc07e9e", + "logs": [ + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb3", + "removed": false + } + ], + "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "gasUsed": "0x33512", + "effectiveGasPrice": "0x231c2c90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026823, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json new file mode 100644 index 00000000..78f7e7af --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x4b0d0", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "nonce": "0x18f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc07e9e", + "logs": [ + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb1", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "blockTimestamp": "0x67f3bcc0", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "logIndex": "0xb3", + "removed": false + } + ], + "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "transactionIndex": "0x6a", + "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", + "blockNumber": "0x7b232e", + "gasUsed": "0x33512", + "effectiveGasPrice": "0x231c2c90", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744026823, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json new file mode 100644 index 00000000..0eb432d8 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x16d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x20e3b9c", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcdb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", + "blockNumber": "0x7ad112", + "blockTimestamp": "0x67efcdb0", + "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", + "transactionIndex": "0xbf", + "logIndex": "0x14e", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcdb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", + "blockNumber": "0x7ad112", + "blockTimestamp": "0x67efcdb0", + "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", + "transactionIndex": "0xbf", + "logIndex": "0x14f", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", + "blockNumber": "0x7ad112", + "blockTimestamp": "0x67efcdb0", + "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", + "transactionIndex": "0xbf", + "logIndex": "0x150", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", + "transactionIndex": "0xbf", + "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", + "blockNumber": "0x7ad112", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x743cb183", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743769013, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json new file mode 100644 index 00000000..f3df0bc1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x16e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x10da6bc", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcec4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", + "blockNumber": "0x7ad129", + "blockTimestamp": "0x67efcec4", + "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", + "transactionIndex": "0x91", + "logIndex": "0x122", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcec4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", + "blockNumber": "0x7ad129", + "blockTimestamp": "0x67efcec4", + "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", + "transactionIndex": "0x91", + "logIndex": "0x123", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", + "blockNumber": "0x7ad129", + "blockTimestamp": "0x67efcec4", + "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", + "transactionIndex": "0x91", + "logIndex": "0x124", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", + "transactionIndex": "0x91", + "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", + "blockNumber": "0x7ad129", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x72e8eaf8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743769290, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json new file mode 100644 index 00000000..39073a95 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": "0xc3e7057c0f1fee4dcb75bed99947cd8e984cd7e813b8befd61846443a9baf27b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x16f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743769369, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json new file mode 100644 index 00000000..223d42e5 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x171", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb78fb5", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd14c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", + "blockNumber": "0x7ad15f", + "blockTimestamp": "0x67efd14c", + "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", + "transactionIndex": "0x86", + "logIndex": "0x7f", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd14c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", + "blockNumber": "0x7ad15f", + "blockTimestamp": "0x67efd14c", + "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", + "transactionIndex": "0x86", + "logIndex": "0x80", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", + "blockNumber": "0x7ad15f", + "blockTimestamp": "0x67efd14c", + "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", + "transactionIndex": "0x86", + "logIndex": "0x81", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", + "transactionIndex": "0x86", + "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", + "blockNumber": "0x7ad15f", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x8ba07b2e", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743769932, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json new file mode 100644 index 00000000..27a914b4 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x173", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa44c7b", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd23c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", + "blockNumber": "0x7ad173", + "blockTimestamp": "0x67efd23c", + "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", + "transactionIndex": "0x6e", + "logIndex": "0x84", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd23c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", + "blockNumber": "0x7ad173", + "blockTimestamp": "0x67efd23c", + "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", + "transactionIndex": "0x6e", + "logIndex": "0x85", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", + "blockNumber": "0x7ad173", + "blockTimestamp": "0x67efd23c", + "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", + "transactionIndex": "0x6e", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", + "transactionIndex": "0x6e", + "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", + "blockNumber": "0x7ad173", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x808719b8", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743770178, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json new file mode 100644 index 00000000..cf70dd71 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x175", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc707e6", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd3c8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", + "blockNumber": "0x7ad194", + "blockTimestamp": "0x67efd3c8", + "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", + "transactionIndex": "0x9d", + "logIndex": "0xb2", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd3c8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", + "blockNumber": "0x7ad194", + "blockTimestamp": "0x67efd3c8", + "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", + "transactionIndex": "0x9d", + "logIndex": "0xb3", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", + "blockNumber": "0x7ad194", + "blockTimestamp": "0x67efd3c8", + "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", + "transactionIndex": "0x9d", + "logIndex": "0xb4", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", + "transactionIndex": "0x9d", + "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", + "blockNumber": "0x7ad194", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x5d434c32", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743770573, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json new file mode 100644 index 00000000..91ac9e7e --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x176", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe203d3", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdb30000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", + "blockNumber": "0x7ad232", + "blockTimestamp": "0x67efdb30", + "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", + "transactionIndex": "0x82", + "logIndex": "0xe9", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdb30000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", + "blockNumber": "0x7ad232", + "blockTimestamp": "0x67efdb30", + "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", + "transactionIndex": "0x82", + "logIndex": "0xea", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", + "blockNumber": "0x7ad232", + "blockTimestamp": "0x67efdb30", + "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", + "transactionIndex": "0x82", + "logIndex": "0xeb", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", + "transactionIndex": "0x82", + "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", + "blockNumber": "0x7ad232", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0xa3f4b74c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743772470, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json new file mode 100644 index 00000000..1e67d1f3 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x177", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xcc3258", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xaf", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x7dcefadf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743773094, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json new file mode 100644 index 00000000..1e67d1f3 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x3e8e3", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "nonce": "0x177", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xcc3258", + "logs": [ + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xad", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xae", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "blockTimestamp": "0x67efdda0", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "logIndex": "0xaf", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", + "transactionIndex": "0x70", + "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", + "blockNumber": "0x7ad266", + "gasUsed": "0x2d4a0", + "effectiveGasPrice": "0x7dcefadf", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743773094, + "chain": 11155111, + "commit": "10e16f9" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json new file mode 100644 index 00000000..f5dbe8c1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x15c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x15d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1743844284" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "nonce": "0x15e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1743844284" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "nonce": "0x15f", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[10000000, 10000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x63087", + "value": "0x0", + "input": "0x026b3d950000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa8400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x160", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xc60531", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", + "transactionIndex": "0x8a", + "logIndex": "0x9f", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", + "transactionIndex": "0x8a", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x487929a6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc6780c", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", + "transactionIndex": "0x8b", + "logIndex": "0xa0", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", + "transactionIndex": "0x8b", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x487929a6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc6eff2", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", + "transactionIndex": "0x8c", + "logIndex": "0xa1", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", + "transactionIndex": "0x8c", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x487929a6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xc767d8", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", + "transactionIndex": "0x8d", + "logIndex": "0xa2", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", + "transactionIndex": "0x8d", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x487929a6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xcbe304", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa3", + "removed": false + }, + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa4", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa5", + "removed": false + }, + { + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa6", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa7", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" + ], + "data": "0x", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa8", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa9", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xaa", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xab", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xac", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008004000000800000000040800000008000000000000000800020000000000000000000800000001000000000000100010000000000000000800400000000000000000040000000000000000000000010000000000020000c00180000000044000000040000000000000002000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x487929a6", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1743757912, + "chain": 11155111, + "commit": "53ca75c" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json index 33e99ef5..f5dbe8c1 100644 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", + "hash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", @@ -16,14 +16,14 @@ "gas": "0xa7f9", "value": "0x0", "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x144", + "nonce": "0x15c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", + "hash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", @@ -38,14 +38,14 @@ "gas": "0xa7f9", "value": "0x0", "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x145", + "nonce": "0x15d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", + "hash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", "transactionType": "CALL", "contractName": null, "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -54,22 +54,22 @@ "0x29f2D40B0605204364af54EC677bD022dA425d03", "0x0BF61f706105EA44694f2e92986bD01C39930280", "1461501637330902918203684832716283019655932542975", - "1742490588" + "1743844284" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "gas": "0xa59b", "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "nonce": "0x146", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "nonce": "0x15e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", + "hash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -78,30 +78,30 @@ "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", "0x0BF61f706105EA44694f2e92986bD01C39930280", "1461501637330902918203684832716283019655932542975", - "1742490588" + "1743844284" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "gas": "0xa59b", "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "nonce": "0x147", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "nonce": "0x15f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", + "hash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", "arguments": [ - "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[100000000, 100000000]", + "[10000000, 10000000]", "0", "true", "0x" @@ -109,10 +109,10 @@ "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x62db1", + "gas": "0x63087", "value": "0x0", - "input": "0x026b3d950000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x148", + "input": "0x026b3d950000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa8400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x160", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -122,7 +122,7 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xe2f197", + "cumulativeGasUsed": "0xc60531", "logs": [ { "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", @@ -132,30 +132,30 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", - "transactionIndex": "0x7d", - "logIndex": "0xd4", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", + "transactionIndex": "0x8a", + "logIndex": "0x9f", "removed": false } ], "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", - "transactionIndex": "0x7d", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", + "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", + "transactionIndex": "0x8a", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", "gasUsed": "0x72db", - "effectiveGasPrice": "0x42edd835", + "effectiveGasPrice": "0x487929a6", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xe36472", + "cumulativeGasUsed": "0xc6780c", "logs": [ { "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", @@ -165,30 +165,30 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", - "transactionIndex": "0x7e", - "logIndex": "0xd5", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", + "transactionIndex": "0x8b", + "logIndex": "0xa0", "removed": false } ], "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", - "transactionIndex": "0x7e", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", + "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", + "transactionIndex": "0x8b", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", "gasUsed": "0x72db", - "effectiveGasPrice": "0x42edd835", + "effectiveGasPrice": "0x487929a6", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xe3dc58", + "cumulativeGasUsed": "0xc6eff2", "logs": [ { "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -198,31 +198,31 @@ "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", - "transactionIndex": "0x7f", - "logIndex": "0xd6", + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", + "transactionIndex": "0x8c", + "logIndex": "0xa1", "removed": false } ], "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", "type": "0x2", - "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", - "transactionIndex": "0x7f", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", + "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", + "transactionIndex": "0x8c", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", "gasUsed": "0x77e6", - "effectiveGasPrice": "0x42edd835", + "effectiveGasPrice": "0x487929a6", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xe4543e", + "cumulativeGasUsed": "0xc767d8", "logs": [ { "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -232,128 +232,128 @@ "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", - "transactionIndex": "0x80", - "logIndex": "0xd7", + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", + "transactionIndex": "0x8d", + "logIndex": "0xa2", "removed": false } ], "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", "type": "0x2", - "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", - "transactionIndex": "0x80", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", + "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", + "transactionIndex": "0x8d", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", "gasUsed": "0x77e6", - "effectiveGasPrice": "0x42edd835", + "effectiveGasPrice": "0x487929a6", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xe8cd5d", + "cumulativeGasUsed": "0xcbe304", "logs": [ { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xd8", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa3", "removed": false }, { - "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xd9", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa4", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xda", + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa5", "removed": false }, { - "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", + "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdb", + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa6", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x0000000000000000000000000000000000000000000000000000000000000001" ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489e4f2aa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdc", + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa7", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0" + "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" ], "data": "0x", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdd", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa8", "removed": false }, { @@ -363,13 +363,13 @@ "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xde", + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xa9", "removed": false }, { @@ -379,13 +379,13 @@ "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdf", + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xaa", "removed": false }, { @@ -395,13 +395,13 @@ "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xe0", + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xab", "removed": false }, { @@ -411,24 +411,24 @@ "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xe1", + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "blockTimestamp": "0x67efa254", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "logIndex": "0xac", "removed": false } ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002010000000000000000010000000000000000000000000800000000000000000240000802000000000000000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000080000000000000000000000040000000000000000000000110000004000020000c00180000000044000000000000000000020000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008004000000800000000040800000008000000000000000800020000000000000000000800000001000000000000100010000000000000000800400000000000000000040000000000000000000000010000000000020000c00180000000044000000040000000000000002000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x4791f", - "effectiveGasPrice": "0x42edd835", + "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", + "transactionIndex": "0x8e", + "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", + "blockNumber": "0x7acd76", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x487929a6", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", "contractAddress": null @@ -437,7 +437,7 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1742404217, + "timestamp": 1743757912, "chain": 11155111, - "commit": "c5d8f79" + "commit": "53ca75c" } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol b/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol index f775d25f..12733066 100644 --- a/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol +++ b/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol @@ -551,6 +551,13 @@ contract UpdateWeightRunner is IUpdateWeightRunner { //L01 possible if multiplier is 0 if (currentLastInterpolationPossible < int256(type(int40).max) - int256(int40(uint40(block.timestamp)))) { + if(currentLastInterpolationPossible < 0) { + //an ultimate final backstop, so we need to set the last interpolation time to the current blocktime + //current weights are handled by the same multiplier process so in theory not possible but if a manual intervention was not + //added correctly this prevents any big weight jump + currentLastInterpolationPossible = 0; + } + //next expected update + time beyond that lastTimestampThatInterpolationWorks = uint40( int40(currentLastInterpolationPossible + int40(uint40(block.timestamp))) diff --git a/pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol new file mode 100644 index 00000000..b3f1c406 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789).setApprovedActionsForPool(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, uint256(19)); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol new file mode 100644 index 00000000..9d47948e --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + int256[] memory newMovingAverages = new int256[](2); + newMovingAverages[0] = 1e18; + newMovingAverages[1] = 1e18; + + int256[] memory newParameters = new int256[](2); + newParameters[0] = 1e18; + newParameters[1] = 1e18; + + UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789) + .setIntermediateValuesManually(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, newMovingAverages, newParameters, 2); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol b/pkg/pool-quantamm/contracts/deployment/initialise_pool.sol similarity index 95% rename from pkg/pool-quantamm/contracts/deployment/pool_checks.sol rename to pkg/pool-quantamm/contracts/deployment/initialise_pool.sol index abe0fcbe..7f19ec07 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool_checks.sol +++ b/pkg/pool-quantamm/contracts/deployment/initialise_pool.sol @@ -57,13 +57,13 @@ contract Deploy is Script { uint256[] memory weights = new uint256[](2); - weights[0] = uint256(100000000); - weights[1] = uint256(100000000); + weights[0] = uint256(10000000); + weights[1] = uint256(10000000); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( - 0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0, + 0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, tokenAddresses, weights, 0, diff --git a/pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol new file mode 100644 index 00000000..4f9fb61c --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789).InitialisePoolLastRunTime(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, uint40(10)); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/perform_update.sol new file mode 100644 index 00000000..b6ab8cb3 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/perform_update.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789) + .performUpdate(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/pool_check.sol new file mode 100644 index 00000000..5bb16022 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/pool_check.sol @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; +import "../rules/AntimomentumUpdateRule.sol"; +import "../rules/MomentumUpdateRule.sol"; +import "../rules/DifferenceMomentumUpdateRule.sol"; +import "../rules/ChannelFollowingUpdateRule.sol"; +import "../rules/MinimumVarianceUpdateRule.sol"; +import "../rules/PowerChannelUpdateRule.sol"; +import "../UpdateWeightRunner.sol"; +import "../QuantAMMWeightedPoolFactory.sol"; +import "../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + address pool = 0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3; + + IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool( + pool + ).getQuantAMMWeightedPoolDynamicData(); + + console.log("Balances Live Scaled 18"); + for (uint256 i = 0; i < weights.balancesLiveScaled18.length; i++) { + console.logInt(int256(weights.balancesLiveScaled18[i])); + } + + console.log("weights and multipliers"); + for (uint256 i = 0; i < weights.firstFourWeightsAndMultipliers.length; i++) { + console.logInt(int256(weights.firstFourWeightsAndMultipliers[i])); + } + + uint256[] memory weightsAndMultipliers = QuantAMMWeightedPool( + pool + ).getNormalizedWeights(); + + console.log("normalized weights"); + for(uint256 i = 0; i < weightsAndMultipliers.length; i++) { + console.logInt(int256(weightsAndMultipliers[i])); + } + + console.log("intermediate state"); + + int256[] memory intermediateState = AntiMomentumUpdateRule(0x5104f2e6CB97334cD3c1BD000fAe871d77B66D15) + .getIntermediateGradientState(pool, 2); + console.logInt(intermediateState[0]); + console.logInt(intermediateState[1]); + + + int256[] memory movingAverages = AntiMomentumUpdateRule(0x5104f2e6CB97334cD3c1BD000fAe871d77B66D15) + .getMovingAverages(pool, 2); + console.logInt(intermediateState[0]); + console.logInt(intermediateState[1]); + + console.log("movingAverages"); + for (uint256 i = 0; i < movingAverages.length; i++) { + console.logInt(int256(movingAverages[i])); + } + + console.log("last update time"); + console.logUint(uint256(weights.lastInteropTime)); + console.logUint(uint256(weights.lastUpdateTime)); + + address[] memory oracles = UpdateWeightRunner( + 0xc840e742C9CC87F08C14537C6b6515cD952AC789 + ).getOptimisedPoolOracle(pool); + + console.log("poolOracles"); + + for(uint256 i = 0; i < oracles.length; i++) { + console.log(oracles[i]); + } + + vm.stopBroadcast(); + } +} From b7dba5d822dc2bcc27ff3ce483b93aac6ff6908f Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 8 Apr 2025 12:46:57 +0100 Subject: [PATCH 14/64] restructure scripts location for public use --- .../{ => admin-scripts}/approve_oracle.sol | 0 .../approve_pool_for_use.sol | 0 .../contracts/deployment/antimom.json | 20 - .../contracts/deployment/deploy.sol | 68 --- .../deployment/deploy_antimomentum.sol | 41 -- .../deployment/deploy_hardhat_compiled.sol | 54 --- .../contracts/deployment/deploy_pool.sol | 184 -------- .../artifact-AntiMomentumUpdateRule.json | 1 - .../deployment_logs/deploy-run-latest.json | 413 ------------------ .../deplyo-antimomentum-run-latest.json | 121 ----- .../deployment/deployment_logs/verify.txt | 9 - .../{ => diagnostics}/pool_check.sol | 0 .../initialise_intermediate_values.sol | 0 .../initialise_pool.sol | 0 .../initialise_rule_runner.sol | 0 .../{ => pool-running}/perform_update.sol | 0 .../contracts/deployment/verify_test.sol | 30 -- 17 files changed, 941 deletions(-) rename pkg/pool-quantamm/contracts/deployment/{ => admin-scripts}/approve_oracle.sol (100%) rename pkg/pool-quantamm/contracts/deployment/{ => admin-scripts}/approve_pool_for_use.sol (100%) delete mode 100644 pkg/pool-quantamm/contracts/deployment/antimom.json delete mode 100644 pkg/pool-quantamm/contracts/deployment/deploy.sol delete mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol delete mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol delete mode 100644 pkg/pool-quantamm/contracts/deployment/deploy_pool.sol delete mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json delete mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json delete mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json delete mode 100644 pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt rename pkg/pool-quantamm/contracts/deployment/{ => diagnostics}/pool_check.sol (100%) rename pkg/pool-quantamm/contracts/deployment/{ => pool-initialisation}/initialise_intermediate_values.sol (100%) rename pkg/pool-quantamm/contracts/deployment/{ => pool-initialisation}/initialise_pool.sol (100%) rename pkg/pool-quantamm/contracts/deployment/{ => pool-initialisation}/initialise_rule_runner.sol (100%) rename pkg/pool-quantamm/contracts/deployment/{ => pool-running}/perform_update.sol (100%) delete mode 100644 pkg/pool-quantamm/contracts/deployment/verify_test.sol diff --git a/pkg/pool-quantamm/contracts/deployment/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/approve_oracle.sol rename to pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol diff --git a/pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/approve_pool_for_use.sol rename to pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol diff --git a/pkg/pool-quantamm/contracts/deployment/antimom.json b/pkg/pool-quantamm/contracts/deployment/antimom.json deleted file mode 100644 index 2a11d1df..00000000 --- a/pkg/pool-quantamm/contracts/deployment/antimom.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy.sol b/pkg/pool-quantamm/contracts/deployment/deploy.sol deleted file mode 100644 index cb7e6cd7..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deploy.sol +++ /dev/null @@ -1,68 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity 0.8.26; - -import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; -import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; - - -contract Deploy is Script { - function run() external { - uint256 deployerPrivateKey; - - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } - - //ETH-USD - //0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748 - ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); - - //0xB8688e8B06682ebef4e8ceAeEc2DAf57fC662f1B - UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); - - //0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB - AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); - - //0x8905b91b301677e674cF964Fbc4Ac3844EF79620 - MomentumUpdateRule _momentum = new MomentumUpdateRule(address(_updateWeightRunner)); - - //0x4FFE46130bCBb16BF5EDc4bBaa06f158921764C2 - DifferenceMomentumUpdateRule _difMomentum = new DifferenceMomentumUpdateRule(address(_updateWeightRunner)); - - //0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295 - ChannelFollowingUpdateRule _channelFollow = new ChannelFollowingUpdateRule(address(_updateWeightRunner)); - - //0xD5c43063563f9448cE822789651662cA7DcD5773 - MinimumVarianceUpdateRule _minVariance = new MinimumVarianceUpdateRule(address(_updateWeightRunner)); - - //0x79F57AB6523EdC139F7f21F024f78b2738eE99bf - PowerChannelUpdateRule _powerChannel = new PowerChannelUpdateRule(address(_updateWeightRunner)); - - //0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4 - QuantAMMWeightedPoolFactory _factory = new QuantAMMWeightedPoolFactory(IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9), 604800, "0.1", "0.1", address(_updateWeightRunner)); - // - // //BTC-USD - //0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B - ChainlinkOracle _chainlinkBTCUSDOracle = new ChainlinkOracle(0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43); - - ////USDC-USD - //0x4c4108B7a2999f2811cF798f829cE25A5E648E98 - ChainlinkOracle _chainlinkUSDCUSDOracle = new ChainlinkOracle(0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E); - - vm.stopBroadcast(); - } -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol b/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol deleted file mode 100644 index 6f8ad65d..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deploy_antimomentum.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity 0.8.26; - -import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; -import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; - - -contract Deploy is Script { - function run() external { - uint256 deployerPrivateKey; - - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } - - //ETH-USD - //0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748 - ChainlinkOracle _chainlinkETHUSDOracle = new ChainlinkOracle(0x694AA1769357215DE4FAC081bf1f309aDC325306); - - //0xB8688e8B06682ebef4e8ceAeEc2DAf57fC662f1B - UpdateWeightRunner _updateWeightRunner = new UpdateWeightRunner(msg.sender, address(_chainlinkETHUSDOracle)); - - //0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB - AntiMomentumUpdateRule _antiMomentum = new AntiMomentumUpdateRule(address(_updateWeightRunner)); - - } -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol b/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol deleted file mode 100644 index e1e84ecf..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deploy_hardhat_compiled.sol +++ /dev/null @@ -1,54 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity 0.8.26; - -import {Script} from "forge-std/Script.sol"; - -import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; - - -contract Deploy is Script { - function run() external { - uint256 deployerPrivateKey; - - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } - - bytes memory bytecode = hex"6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033"; - - bytes memory constructorArgs = abi.encode( - address(0xbA1333333333a1BA1108E8412f11850A5C319bA9), // Address of IVault - uint32(604800), // pauseWindowDuration - string("0.2"), // factoryVersion - string("0.2"), // poolVersion - address(0xCf70bf72e52c60D4B378F302c3798fdd7247709a) // updateWeightRunner - ); - - // Concatenate bytecode with constructor arguments - bytes memory creationCode = abi.encodePacked(bytecode, constructorArgs); - - // Allocate memory for the full bytecode and arguments - address deployedContract; - assembly { - // Get the current free memory pointer - let freeMemoryPointer := mload(0x40) - - // Update the free memory pointer to account for the size of the creationCode - mstore(0x40, add(freeMemoryPointer, add(mload(creationCode), 32))) - - // Deploy the contract using `create` - deployedContract := create(0, add(creationCode, 0x20), mload(creationCode)) - - // If deployment failed, revert - if iszero(deployedContract) { - revert(0, 0) - } - } - vm.stopBroadcast(); - } -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol b/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol deleted file mode 100644 index 3f9be102..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deploy_pool.sol +++ /dev/null @@ -1,184 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.26; - -import "../QuantAMMWeightedPoolFactory.sol"; -import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import { IRateProvider } from "@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol"; -import { PoolRoleAccounts, TokenConfig, TokenType } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; - -import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; -import { IUpdateRule } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol"; -import { OracleWrapper } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol"; - -import { Script } from "forge-std/Script.sol"; - -import "forge-std/console.sol"; // Import the console library - -contract CreatePoolBroadcast is Script { - - function _createPoolParams() internal view returns (QuantAMMWeightedPoolFactory.CreationNewPoolParams memory retParams) { - IRateProvider[] memory rateProviders; - PoolRoleAccounts memory roleAccounts; - - address[] memory tokens = new address[](2); - //USDC sepolia - tokens[0] = 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8; - - //WBTC sepolia - tokens[1] = 0x29f2D40B0605204364af54EC677bD022dA425d03; - - IERC20[] memory tokensIERC20 = new IERC20[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - tokensIERC20[i] = IERC20(tokens[i]); } - - TokenConfig[] memory tokenConfig = new TokenConfig[](tokens.length); - for (uint256 i = 0; i < asIERC20(tokens).length; ++i) { - tokenConfig[i].token = asIERC20(tokens)[i]; - if(rateProviders.length > 0) { - tokenConfig[i].rateProvider = rateProviders[i]; - tokenConfig[i].tokenType = rateProviders[i] == IRateProvider(address(0)) - ? TokenType.STANDARD - : TokenType.WITH_RATE; - } - } - - tokenConfig = sortTokenConfig(tokenConfig); - - uint64[] memory lambdas = new uint64[](1); - lambdas[0] = 0.2e18; - - int256[] memory intermediateValueStubs = new int256[](2); - intermediateValueStubs[0] = 1e18; - intermediateValueStubs[1] = 1e18; - - int256[][] memory parameters = new int256[][](1); - parameters[0] = new int256[](1); - parameters[0][0] = 0.2e18; - - address[][] memory oracles = new address[][](2); - oracles[0] = new address[](1); - oracles[1] = new address[](1); - //USDC - oracles[0][0] = 0x809CEbbb376A97D175570b5c71ED2a219ACd6f21; - - //WBTC - oracles[1][0] = 0xdA841aEEE267b4607f8F0F3622e99060D64644EF; - - uint256[] memory normalizedWeights = new uint256[](tokens.length); - normalizedWeights[0] = uint256(0.5e18); - normalizedWeights[1] = uint256(0.5e18); - - int256[] memory intNormalizedWeights = new int256[](tokens.length); - intNormalizedWeights[0] = 0.5e18; - intNormalizedWeights[1] = 0.5e18; - - string[][] memory poolDetails = new string[][](1); - poolDetails[0] = new string[](4); - poolDetails[0][0] = "Overview"; - poolDetails[0][1] = "Adaptability"; - poolDetails[0][2] = "number"; - poolDetails[0][3] = "5"; - bytes32 salt = keccak256(abi.encodePacked(msg.sender, block.timestamp)); - console.log("starting params"); - retParams = QuantAMMWeightedPoolFactory.CreationNewPoolParams( - //string name; - "test quantamm pool 2", - //string symbol; - "test", - //TokenConfig[] tokens; - tokenConfig, - //uint256[] normalizedWeights; - normalizedWeights, - //PoolRoleAccounts roleAccounts; - roleAccounts, - //uint256 swapFeePercentage; - 0.02e18, - //address poolHooksContract; - address(0), - //bool enableDonation; - true, - //bool disableUnbalancedLiquidity; - false, // Do not disable unbalanced add/remove liquidity - //bytes32 salt; - salt, - //int256[] _initialWeights; - intNormalizedWeights, - //IQuantAMMWeightedPool.PoolSettings _poolSettings; - IQuantAMMWeightedPool.PoolSettings( - //IERC20[] assets; - asIERC20(tokens), - //IUpdateRule rule; - IUpdateRule(0xd728f8c62949BbfB4E3D1701C263887F313e9B4e), - //address[][] oracles; - oracles, - //uint16 updateInterval; - 60, - //uint64[] lambda; - lambdas, - //uint64 epsilonMax; - 0.2e18, - //uint64 absoluteWeightGuardRail; - 0.2e18, - //uint64 maxTradeSizeRatio; - 0.3e18, - //int256[][] ruleParameters; - parameters, - //address poolManager; - msg.sender - ), - //int256[] _initialMovingAverages; - intermediateValueStubs, - //int256[] _initialIntermediateValues; - intermediateValueStubs, - //uint256 _oracleStalenessThreshold; - 3600, - //uint256 poolRegistry; - 16,//able to set weights - //string[][] poolDetails; - poolDetails - ); - } - - function asIERC20(address[] memory addresses) internal pure returns (IERC20[] memory tokens) { - // solhint-disable-next-line no-inline-assembly - assembly ("memory-safe") { - tokens := addresses - } - } - //taken out of IVault to avoid using the buildTokenConfig function - function sortTokenConfig(TokenConfig[] memory tokenConfig) public pure returns (TokenConfig[] memory) { - for (uint256 i = 0; i < tokenConfig.length - 1; ++i) { - for (uint256 j = 0; j < tokenConfig.length - i - 1; j++) { - if (tokenConfig[j].token > tokenConfig[j + 1].token) { - // Swap if they're out of order. - (tokenConfig[j], tokenConfig[j + 1]) = (tokenConfig[j + 1], tokenConfig[j]); - } - } - } - - return tokenConfig; - } - function run() external { - - vm.startBroadcast(); - - console.log("Creating pool"); - // Instance of the factory contract - // hardhat compiled factory - 0x23920dFC349c55F535D1020dcaBFEf4E80b9680b - QuantAMMWeightedPoolFactory factory = QuantAMMWeightedPoolFactory(0x23920dFC349c55F535D1020dcaBFEf4E80b9680b); - - console.log("Creating params"); - // Define the parameters for the new pool - QuantAMMWeightedPoolFactory.CreationNewPoolParams memory params = _createPoolParams(); - - console.log("Creating pool without args"); - // Wrapping the call to create the pool in a try-catch block - try factory.createWithoutArgs(params) returns (address pool) { - console.log("Pool created successfully at address:", pool); - } catch (bytes memory error) { - console.log("Pool creation failed with error:", string(error)); - } - - vm.stopBroadcast(); - } -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json deleted file mode 100644 index b89d9d13..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deployment_logs/artifact-AntiMomentumUpdateRule.json +++ /dev/null @@ -1 +0,0 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_updateWeightRunner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"CalculateNewWeights","inputs":[{"name":"_prevWeights","type":"int256[]","internalType":"int256[]"},{"name":"_data","type":"int256[]","internalType":"int256[]"},{"name":"_pool","type":"address","internalType":"address"},{"name":"_parameters","type":"int256[][]","internalType":"int256[][]"},{"name":"_lambdaStore","type":"uint64[]","internalType":"uint64[]"},{"name":"_epsilonMax","type":"uint64","internalType":"uint64"},{"name":"_absoluteWeightGuardRail","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"updatedWeights","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"initialisePoolRuleIntermediateValues","inputs":[{"name":"_poolAddress","type":"address","internalType":"address"},{"name":"_newMovingAverages","type":"int256[]","internalType":"int256[]"},{"name":"_newInitialValues","type":"int256[]","internalType":"int256[]"},{"name":"_numberOfAssets","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"movingAverages","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"parameterDescriptions","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validParameters","inputs":[{"name":"_parameters","type":"int256[][]","internalType":"int256[][]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"error","name":"PRBMathSD59x18__DivInputTooSmall","inputs":[]},{"type":"error","name":"PRBMathSD59x18__DivOverflow","inputs":[{"name":"rAbs","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMathSD59x18__Exp2InputTooBig","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__FromIntOverflow","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__FromIntUnderflow","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__LogInputTooSmall","inputs":[{"name":"x","type":"int256","internalType":"int256"}]},{"type":"error","name":"PRBMathSD59x18__MulInputTooSmall","inputs":[]},{"type":"error","name":"PRBMathSD59x18__MulOverflow","inputs":[{"name":"rAbs","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath__MulDivFixedPointOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72","sourceMap":"494:7245:451:-:0;;;573:574;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3294:40:457;;;;656:21:451::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;656:21:451::1;::::0;::::1;::::0;:4:::1;::::0;:21:::1;::::0;:4;:21:::1;:::i;:::-;-1:-1:-1::0;720:15:451::1;::::0;;733:1:::1;720:15:::0;;;;;::::1;::::0;;;;::::1;;;;;;;;;;;;;;;;;-1:-1:-1::0;;696:39:451;;::::1;::::0;:21:::1;::::0;:39:::1;::::0;;::::1;::::0;::::1;:::i;:::-;;745:137;;;;;;;;;;;;;;;;;:21;767:1;745:24;;;;;;;;:::i;:::-;;;;;;;;:137;;;;;;:::i;:::-;;892:115;;;;;;;;;;;;;;;;;:21;914:1;892:24;;;;;;;;:::i;:::-;;;;;;;;:115;;;;;;:::i;:::-;;1017:123;;;;;;;;;;;;;;;;;:21;1039:1;1017:24;;;;;;;;:::i;:::-;;;;;;;;:123;;;;;;:::i;:::-;;573:574:::0;494:7245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;494:7245:451;;;-1:-1:-1;494:7245:451;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;14:290:493;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:493;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:493:o;309:127::-;370:10;365:3;361:20;358:1;351:31;401:4;398:1;391:15;425:4;422:1;415:15;441:380;520:1;516:12;;;;563;;;584:61;;638:4;630:6;626:17;616:27;;584:61;691:2;683:6;680:14;660:18;657:38;654:161;;737:10;732:3;728:20;725:1;718:31;772:4;769:1;762:15;800:4;797:1;790:15;654:161;;441:380;;;:::o;952:518::-;1054:2;1049:3;1046:11;1043:421;;;1090:5;1087:1;1080:16;1134:4;1131:1;1121:18;1204:2;1192:10;1188:19;1185:1;1181:27;1175:4;1171:38;1240:4;1228:10;1225:20;1222:47;;;-1:-1:-1;1263:4:493;1222:47;1318:2;1313:3;1309:12;1306:1;1302:20;1296:4;1292:31;1282:41;;1373:81;1391:2;1384:5;1381:13;1373:81;;;1450:1;1436:16;;1417:1;1406:13;1373:81;;;1377:3;;1043:421;952:518;;;:::o;1646:1299::-;1766:10;;-1:-1:-1;;;;;1788:30:493;;1785:56;;;1821:18;;:::i;:::-;1850:97;1940:6;1900:38;1932:4;1926:11;1900:38;:::i;:::-;1894:4;1850:97;:::i;:::-;1996:4;2027:2;2016:14;;2044:1;2039:649;;;;2732:1;2749:6;2746:89;;;-1:-1:-1;2801:19:493;;;2795:26;2746:89;-1:-1:-1;;1603:1:493;1599:11;;;1595:24;1591:29;1581:40;1627:1;1623:11;;;1578:57;2848:81;;2009:930;;2039:649;899:1;892:14;;;936:4;923:18;;-1:-1:-1;;2075:20:493;;;2193:222;2207:7;2204:1;2201:14;2193:222;;;2289:19;;;2283:26;2268:42;;2396:4;2381:20;;;;2349:1;2337:14;;;;2223:12;2193:222;;;2197:3;2443:6;2434:7;2431:19;2428:201;;;2504:19;;;2498:26;-1:-1:-1;;2587:1:493;2583:14;;;2599:3;2579:24;2575:37;2571:42;2556:58;2541:74;;2428:201;-1:-1:-1;;;;2675:1:493;2659:14;;;2655:22;2642:36;;-1:-1:-1;1646:1299:493:o;2950:127::-;3011:10;3006:3;3002:20;2999:1;2992:31;3042:4;3039:1;3032:15;3066:4;3063:1;3056:15;2950:127;494:7245:451;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a0033","sourceMap":"494:7245:451:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:18:457;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6821:916:451;;;;;;:::i;:::-;;:::i;:::-;;;1478:14:493;;1471:22;1453:41;;1441:2;1426:18;6821:916:451;1313:187:493;1695:37:457;;;;;;:::i;:::-;;:::i;11012:624::-;;;;;;:::i;:::-;;:::i;:::-;;3828:5508;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;803:50:462:-;;;;;;:::i;:::-;;:::i;:::-;;;6857:25:493;;;6845:2;6830:18;803:50:462;6713:175:493;1671:18:457;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6821:916:451:-;6911:4;6953:1;6931:23;;;:82;;-1:-1:-1;6981:1:451;6959:23;;:53;;;;;6986:11;;6998:1;6986:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:21;;7011:1;6986:26;6959:53;6927:773;;;7029:21;7053:11;;7065:1;7053:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7029:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7103:12:451;;7029:38;;-1:-1:-1;7029:38:451;7096:24;;;;;-1:-1:-1;7096:32:451;;-1:-1:-1;;7096:32:451;7127:1;7096:32;;;7123:1;7096:32;7081:47;;;;7147:6;7142:234;7159:5;:12;7155:1;:16;7142:234;;;7210:1;7199:5;7205:1;7199:8;;;;;;;;:::i;:::-;;;;;;;:12;7193:98;;7244:1;7236:9;;7267:5;;7193:98;7340:3;;7142:234;;;-1:-1:-1;7451:1:451;7429:23;;:53;;;;;7456:11;;7468:1;7456:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:21;;7481:1;7456:26;7429:53;7426:232;;;7519:11;;7531:1;7519:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7534:1;7519:17;;;;;;;:::i;:::-;;;;;;;7540:1;7519:22;:72;;;;7566:25;7589:1;7566:22;:25::i;:::-;7545:11;;7557:1;7545:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;7560:1;7545:17;;;;;;;:::i;:::-;;;;;;;:46;7519:72;7513:131;;-1:-1:-1;7624:1:451;7513:131;7679:5;:10;;7688:1;7679:10;7672:17;;;;;;6927:773;-1:-1:-1;7725:5:451;6821:916;;;;;:::o;1695:37:457:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11012:624::-;11381:10;-1:-1:-1;;;;;11381:26:457;;;;:62;;-1:-1:-1;11411:10:457;-1:-1:-1;;;;;11425:18:457;11411:32;;11381:62;11373:81;;;;-1:-1:-1;;;11373:81:457;;8275:2:493;11373:81:457;;;8257:21:493;8314:1;8294:18;;;8287:29;8352:8;8332:18;;;8325:36;8378:18;;11373:81:457;;;;;;;;;11464:76;11490:12;11504:18;11524:15;11464:25;:76::i;:::-;11550:79;11580:12;11594:17;11613:15;11550:29;:79::i;:::-;11012:624;;;;:::o;3828:5508::-;4127:30;4177:10;-1:-1:-1;;;;;4191:18:457;4177:32;;4169:56;;;;-1:-1:-1;;;4169:56:457;;8609:2:493;4169:56:457;;;8591:21:493;8648:2;8628:18;;;8621:30;8687:13;8667:18;;;8660:41;8718:18;;4169:56:457;8407:335:493;4169:56:457;4236:38;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:38:457;4285:21;;;:43;;;4357:25;4381:1;4309:12;4357:25;:::i;:::-;4338:16;;;:44;4421:12;4408:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4408:33:457;-1:-1:-1;4392:13:457;;;:49;4452:206;4478:13;;;;:20;4467:8;;:31;4452:206;;;4557:12;;4570:6;:8;;;4557:22;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4549:31;;4516:6;:13;;;4530:6;:8;;;4516:23;;;;;;;;:::i;:::-;:65;;;;;:23;;;;;;;;;;;:65;4623:10;;;;;;4452:206;;;6192:6:451;4668:26:457;;;:78;4802:21;;;;4756:43;;;:67;;;5018:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5018:35:457;-1:-1:-1;4991:24:457;;;:62;5106:21;;;;5093:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5093:35:457;-1:-1:-1;5063:27:457;;;:65;5185:43;;;;5172:57;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5172:57:457;-1:-1:-1;5138:31:457;;;:91;-1:-1:-1;;;;;5291:21:457;;;;;;:14;:21;;;;;;;;;5267:69;;;;;;;;;;;;;;;;;;;;;;5291:21;5267:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5314:6;:21;;;5267:23;:69::i;:::-;5240:24;;;:96;;;5469:160;;;;;;;;;;;;;;;;;;;;5240:96;5552:5;;;;;;5469:160;;;5552:5;;5469:160;5552:5;5469:160;;;;;;;;;-1:-1:-1;;;;5571:13:457;;;;5598:21;;;;5469:31;:160::i;:::-;5439:27;;;:190;5644:21;;;;:25;;5668:1;;5644:25;:::i;:::-;:30;5640:121;;5720:16;;;5718:18;;-1:-1:-1;;5718:18:457;;;5640:121;6097:1;6086:12;;6108:1166;6126:16;;;;6115:8;;:27;6108:1166;;;6164:6;:26;;;6160:167;;;6278:24;;;;6303:8;;6278:34;;;;;;;;:::i;:::-;;;;;;;6210:6;:31;;;6253:6;:21;;;6242:6;:8;;;:32;;;;:::i;:::-;6210:65;;;;;;;;:::i;:::-;;;;;;:102;;;;;6160:167;6384:27;;;;6412:8;;6384:37;;;;;;;;:::i;:::-;;;;;;;6340:6;:31;;;6372:6;:8;;;6340:41;;;;;;;;:::i;:::-;;;;;;;;;;:81;6485:8;;6496:1;6485:12;6464:18;;;:33;6529:26;;;;6525:225;;;6653:6;:24;;;6699:6;:18;;;6653:82;;;;;;;;:::i;:::-;;;;;;;6575:6;:31;;;6628:6;:21;;;6607:6;:18;;;:42;;;;:::i;:::-;6575:75;;;;;;;;:::i;:::-;;;;;;:160;;;;;6525:225;6817:6;:27;;;6845:6;:18;;;6817:47;;;;;;;;:::i;:::-;;;;;;;6763:6;:31;;;6795:6;:18;;;6763:51;;;;;;;;:::i;:::-;;;;;;:101;;;;;6884:6;:26;;;6879:276;;6975:165;7016:6;:27;;;7044:6;:8;;;7016:37;;;;;;;;:::i;:::-;;;;;;;7075:6;:27;;;7103:6;:18;;;7075:47;;;;;;;;:::i;:::-;;;;;;;6975:19;:165::i;:::-;-1:-1:-1;;;;;6930:21:457;;;;;;:14;:21;;;;;6952:19;;;;6930:42;;;;;;;;:::i;:::-;;;;;;;;;;:210;6879:276;7199:19;;;7197:21;;;;;;7236:13;;7248:1;7236:13;;;6108:1166;;;7312:1;7288:6;:21;;;:25;;;;:::i;:::-;:30;7284:863;;7382:1;7358:6;:21;;;:25;;;;:::i;:::-;7334:21;;;:49;;;7471:1;;7445:27;7425:16;;;:48;7505:26;;;;7501:214;;;7632:6;:45;;;7678:6;:21;;;7632:68;;;;;;;;:::i;:::-;;;;;;;7551:6;:31;;;7607:6;:21;;;7583:6;:21;;;:45;;;;:::i;:::-;7551:78;;;;;;;;:::i;:::-;;;;;;:149;;;;;7501:214;7785:6;:27;;;7813:6;:21;;;7785:50;;;;;;;;:::i;:::-;;;;;;;7728:6;:31;;;7760:6;:21;;;7728:54;;;;;;;;:::i;:::-;;;;;;:107;;;;;7854:6;:26;;;7849:288;;7982:140;8030:1;8054:6;:27;;;8082:6;:21;;;8054:50;;;;;;;;:::i;7982:140::-;-1:-1:-1;;;;;7940:21:457;;;;;;:14;:21;;;;;;;;7962:16;;;;7940:39;;;;;;;;:::i;:::-;;;;;;;;;;:182;7849:288;8393:6;:26;;;8389:201;;;8529:50;8551:6;:27;;;8529:21;:50::i;:::-;-1:-1:-1;;;;;8505:21:457;;;;;;:14;:21;;;;;;;;:74;;;;:21;;:74;;;;;;:::i;:::-;;8389:201;8600:44;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8600:44:457;8678:6;:13;;;8654:14;:21;;:37;;;;8732:6;:31;;;8701:14;:28;;:62;;;;8795:5;8773:14;:19;;:27;-1:-1:-1;;;;;8773:27:457;;;-1:-1:-1;;;;;8773:27:457;;;;;8929:61;8941:12;;8955:5;;8929:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8962:11:457;;-1:-1:-1;8962:11:457;;-1:-1:-1;8975:14:457;;-1:-1:-1;8929:11:457;:61::i;:::-;8896:30;;;:94;;;9131:198;;9210:12;;9243:20;;;;9131:198;;;;;9285:33;;9131:198;;:21;:198::i;:::-;9114:215;3828:5508;-1:-1:-1;;;;;;;;;;;;;;3828:5508:457:o;803:50:462:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11749:367:157:-;11799:13;11856:19;11852:23;;11848:104;;;11902:35;;;;;;;;6857:25:493;;;6830:18;;11902:35:157;6713:175:493;11848:104:157;11973:19;11969:23;;11965:103;;;12019:34;;;;;;;;6857:25:493;;;6830:18;;12019:34:157;6713:175:493;11965:103:157;-1:-1:-1;1815:4:157;12090:9;;11749:367::o;3001:506:462:-;3267:15;3234:22;:29;:48;3230:271;;3382:45;3404:22;3382:21;:45::i;:::-;-1:-1:-1;;;;;3351:28:462;;;;;;:14;:28;;;;;;;;:76;;;;:28;;:76;;;;;;:::i;3230:271::-;3458:32;;-1:-1:-1;;;3458:32:462;;9896:2:493;3458:32:462;;;9878:21:493;9935:2;9915:18;;;9908:30;9974:24;9954:18;;;9947:52;10016:18;;3458:32:462;9694:346:493;3230:271:462;3001:506;;;:::o;6433:239:451:-;6606:59;6619:12;6633:14;6649:15;6606:12;:59::i;14206:1061:419:-;14339:27;14413:18;14386:12;:19;14408:1;14386:23;;;;:::i;:::-;:45;;14378:66;;;;-1:-1:-1;;;14378:66:419;;10420:2:493;14378:66:419;;;10402:21:493;10459:1;10439:18;;;10432:29;10497:10;10477:18;;;10470:38;10525:18;;14378:66:419;10218:331:493;14378:66:419;14481:18;14468:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14468:32:419;;14454:46;;14510:16;14536:30;14591:1;14569:12;:19;:23;;;;:::i;:::-;14536:56;-1:-1:-1;14602:19:419;14624:22;14645:1;14624:18;:22;:::i;:::-;:27;;-1:-1:-1;14650:1:419;14661:451;14678:12;:19;14674:1;:23;14661:451;;;14761:3;14742:12;14755:1;14742:15;;;;;;;;:::i;:::-;;;;;;;:22;;14715:11;14727;14715:24;;;;;;;;:::i;:::-;;;;;;:49;;;;;14806:13;;;;;14853:14;14852:15;:48;;;;;14875:25;14871:1;:29;14852:48;14851:68;;;;14905:14;14851:68;14847:165;;;14980:12;14993:1;14980:15;;;;;;;;:::i;:::-;;;;;;;14966:31;;14939:11;14951;14939:24;;;;;;;;:::i;:::-;;;;;;:58;;;;;14847:165;15053:3;15074:13;;;;15053:3;14661:451;;;;15127:14;15122:139;;15209:12;15222:25;15209:39;;;;;;;;:::i;:::-;;;;;;;15195:55;;15157:11;15190:1;15169:18;:22;;;;:::i;:::-;15157:35;;;;;;;;:::i;:::-;;;;;;:93;;;;;15122:139;14368:899;;;14206:1061;;;;:::o;1183:1619:462:-;1395:15;1422:32;1470:15;1457:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1457:29:462;;1422:64;;1496:22;1528:7;1536:1;1528:10;;;;;;;;:::i;:::-;;;;;;;1521:18;;1496:43;;1549:21;1579:15;550:8;1573:21;;;;:::i;:::-;1549:45;;1608:7;:14;1626:1;1608:19;1604:1158;;1648:6;1643:466;1660:15;1656:1;:19;1643:466;;;1783:21;1807:18;1826:1;1807:21;;;;;;;;:::i;:::-;;;;;;;1783:45;;1943:80;550:8;1982:31;1998:14;1982:8;1991:1;1982:11;;;;;;;;:::i;:::-;;;;;;;:15;;:31;;;;:::i;:::-;1944:35;:14;1963:15;1944:18;:35::i;:::-;:69;;;;:::i;:::-;1943:75;;:80::i;:::-;1921:16;1938:1;1921:19;;;;;;;;:::i;:::-;;;;;;;;;;:102;-1:-1:-1;2073:3:462;;1643:466;;;;1604:1158;;;2144:6;2139:613;2156:15;2152:1;:19;2139:613;;;2250:7;2258:1;2250:10;;;;;;;;:::i;:::-;;;;;;;2243:18;;2225:36;;2306:15;550:8;2300:21;2283:38;;2357:21;2381:18;2400:1;2381:21;;;;;;;;:::i;:::-;;;;;;;2357:45;;2586:80;550:8;2625:31;2641:14;2625:8;2634:1;2625:11;;;;;;;;:::i;2586:80::-;2564:16;2581:1;2564:19;;;;;;;;:::i;:::-;;;;;;;;;;:102;-1:-1:-1;2716:3:462;;2139:613;;;;1604:1158;-1:-1:-1;2779:16:462;;1183:1619;-1:-1:-1;;;;;;1183:1619:462:o;1524:341:419:-;1611:13;1269:16;1645:18;;;;;1644:45;;-1:-1:-1;1269:16:419;1669:19;;;1644:45;1636:66;;;;-1:-1:-1;;;1636:66:419;;11182:2:493;1636:66:419;;;11164:21:493;11221:1;11201:18;;;11194:29;11259:10;11239:18;;;11232:38;11287:18;;1636:66:419;10980:331:493;1636:66:419;-1:-1:-1;;1721:18:419;;;;;1720:45;;-1:-1:-1;;;1745:19:419;;;1720:45;1712:67;;;;-1:-1:-1;;;1712:67:419;;11518:2:493;1712:67:419;;;11500:21:493;11557:1;11537:18;;;11530:29;11595:11;11575:18;;;11568:39;11624:18;;1712:67:419;11316:332:493;1712:67:419;-1:-1:-1;1825:32:419;;1854:3;1799:15;;;;1798:60;;1524:341::o;12310:1698::-;12458:19;;12394:27;;12458:19;12433:22;12575:24;;;12567:41;;;;-1:-1:-1;;;12567:41:419;;;;;;11855:2:493;11837:21;;;11894:1;11874:18;;;11867:29;11932:6;11927:2;11912:18;;11905:34;11971:2;11956:18;;11653:327;12567:41:419;12645:1;12623:12;:19;:23;;;;:::i;:::-;12650:1;12623:28;12619:1383;;12737:1;12716:17;12715:23;12695:43;;12793:17;12780:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12780:31:419;;12766:45;;12830:6;12825:270;12842:21;12862:1;12842:17;:21;:::i;:::-;12838:1;:25;12825:270;;;12913:57;12933:12;12946:1;12933:15;;;;;;;;:::i;:::-;;;;;;;12950:12;12963:1;12967;12963:5;;;;:::i;:::-;12950:19;;;;;;;;:::i;12913:57::-;12885:11;12897:12;12885:25;;;;;;;;:::i;:::-;;;;;;;;;;:85;13048:14;;;;;13025:1;13020:6;12825:270;;;;12619:1383;;;13125:20;13148:12;13183:1;13161:12;:19;:23;;;;:::i;:::-;13148:37;;;;;;;;:::i;:::-;;;;;;;13125:60;;-1:-1:-1;;13242:24:419;;13225:13;:41;;13224:90;;;;-1:-1:-1;13296:16:419;13272:41;;;13224:90;13199:176;;;;-1:-1:-1;;;13199:176:419;;12187:2:493;13199:176:419;;;12169:21:493;12226:2;12206:18;;;12199:30;12265:29;12245:18;;;12238:57;12312:18;;13199:176:419;11985:351:493;13199:176:419;13464:1;-1:-1:-1;;13439:21:419;;13438:27;13469:1;13437:33;13417:53;;13525:17;13512:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13512:31:419;-1:-1:-1;13498:45:419;-1:-1:-1;13557:30:419;13590:21;13610:1;13590:17;:21;:::i;:::-;13557:54;;13630:6;13625:274;13642:25;13638:1;:29;13625:274;;;13717:57;13737:12;13750:1;13737:15;;;;;;;;:::i;:::-;;;;;;;13754:12;13767:1;13771;13767:5;;;;:::i;13717:57::-;13689:11;13701:12;13689:25;;;;;;;;:::i;:::-;;;;;;;;;;:85;13852:14;;;;;13829:1;13824:6;13625:274;;;-1:-1:-1;13954:12:419;13967:21;13987:1;13967:17;:21;:::i;:::-;13954:35;;;;;;;;:::i;:::-;;;;;;;13940:51;;13912:11;13924:12;13912:25;;;;;;;;:::i;:::-;;;;;;:79;;;;;13111:891;;12619:1383;12423:1585;;;12310:1698;;;:::o;2690:3426:451:-;2912:35;2959:40;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2959:40:451;3024:11;;3036:1;3024:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3009:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3009:29:451;;;-1:-1:-1;;;3048:18:451;;;:26;;3314:22;;3310:98;;;1221:8;3373:11;;3385:1;3373:14;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3388:1;3373:17;;;;;;;:::i;:::-;;;;;;;;:24;;;;3352:18;;;:45;-1:-1:-1;3310:98:451;3418:30;;;:52;;;3501:50;3528:5;3418:15;3501:26;:50::i;:::-;3481:17;;;:70;3578:1;3567:8;;;:12;3562:869;3581:8;;;;:30;-1:-1:-1;3562:869:451;;;3650:15;:29;;;3680:6;:8;;;3650:39;;;;;;;;:::i;:::-;;;;;;;3629:6;:18;;:60;;;;;3707:6;:18;;;3703:93;;;3766:5;3772:6;:8;;;3766:15;;;;;;;;:::i;:::-;;;;;;;3745:6;:18;;:36;;;;;3703:93;4027:68;4066:6;:17;;;4084:6;:8;;;4066:27;;;;;;;;:::i;:::-;;;;;;;4027;4035:6;:18;;;1221:8;4027:7;;:27;;;;:::i;:::-;:31;;:68::i;:::-;3997:6;:17;;;4015:6;:8;;;3997:27;;;;;;;;:::i;:::-;;;;;;;;;;:98;4113:12;;:19;4136:1;4113:24;4109:246;;4187:6;:17;;;4205:6;:8;;;4187:27;;;;;;;;:::i;:::-;;;;;;;4157:6;:26;;:57;;;;;;;:::i;:::-;;;-1:-1:-1;4109:246:451;;;4284:55;4316:6;:12;;;4329:6;:8;;;4316:22;;;;;;;;:::i;:::-;;;;;;;4284:6;:17;;;4302:6;:8;;;4284:27;;;;;;;;:::i;:55::-;4253:6;:26;;:87;;;;;;;:::i;:::-;;;-1:-1:-1;4109:246:451;4398:8;;;4396:10;;;;;;3562:869;;;4588:12;4575:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:33:451;-1:-1:-1;4622:12:451;;:19;4553:55;;-1:-1:-1;4645:1:451;4622:24;4618:1455;;4662:26;;;:57;;4699:12;;4662:26;:57;;4699:12;;4662:57;:::i;:::-;;;-1:-1:-1;4820:1:451;4809:8;;;:12;4804:368;4823:8;;;;:30;-1:-1:-1;4804:368:451;;;4875:10;4941:85;4998:6;:17;;;5016:6;:8;;;4998:27;;;;;;;;:::i;:::-;;;;;;;4969:6;:26;;;:56;;;;:::i;:::-;4948:12;;:15;;:12;;:15;;;;:::i;4941:85::-;4895:12;;4908:6;:8;;;4895:22;;;;;;;:::i;:::-;;;;;;;4888:138;;;;:::i;:::-;4875:151;;5076:3;5044:19;5064:6;:8;;;5044:29;;;;;;;;:::i;:::-;;;;;;;;;;:35;-1:-1:-1;5131:8:451;;;5129:10;;;;;;4804:368;;;4618:1455;;;5218:1;5207:8;;;:12;5202:205;5232:12;;:19;5221:8;;;;:30;5202:205;;;5292:12;;5305:8;;;;5292:22;;;;;;;;:::i;:::-;;;;;;;5273:6;:15;;:41;;;;;;;:::i;:::-;;;-1:-1:-1;5366:8:451;;;5364:10;;;;;;5202:205;;;5481:15;;;;5450:26;;;;:47;;:30;:47::i;:::-;5421:26;;;:76;5540:1;5529:8;;;:12;5524:539;5543:8;;;;:30;-1:-1:-1;5524:539:451;;;5669:10;5735:92;5799:6;:17;;;5817:6;:8;;;5799:27;;;;;;;;:::i;:::-;;;;;;;5770:6;:26;;;:56;;;;:::i;:::-;5742:12;;5755:8;;;;5742:22;;;;;;;;:::i;5735:92::-;5689:12;;5702:6;:8;;;5689:22;;;;;;;:::i;:::-;;;;;;;5682:145;;;;:::i;:::-;5669:158;;5967:3;5935:19;5955:6;:8;;;5935:29;;;;;;;;:::i;:::-;;;;;;;;;;:35;-1:-1:-1;6022:8:451;;;6020:10;;;;;;5524:539;;;6083:26;2690:3426;;;;;;;;:::o;982:617:461:-;1185:33;1315:49;1329:8;1339:24;1315:13;:49::i;:::-;1304:60;;1532;1556:12;;1532:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1570:8:461;;-1:-1:-1;1580:11:461;;-1:-1:-1;1532:23:461;;-1:-1:-1;1532:60:461:i;:::-;1512:80;982:617;-1:-1:-1;;;;;;982:617:461:o;9511:949:460:-;-1:-1:-1;;;;;9646:39:460;;9627:16;9646:39;;;;;;;;;;:46;9734:21;;:40;;:510;;;;-1:-1:-1;9792:16:460;;;:116;;;9855:1;9831:14;:21;:25;;;;:::i;:::-;:30;:76;;;;;9896:11;9890:1;9866:14;:21;:25;;;;:::i;:::-;9865:42;9831:76;9792:451;;;;10186:1;10162:14;:21;:25;;;;:::i;:::-;:30;;;;:80;;;10231:11;10221:1;10197:14;:21;:25;;;;:::i;:::-;10196:31;;10226:1;10196:31;:::i;:::-;:46;10162:80;9730:724;;;10345:37;10367:14;10345:21;:37::i;:::-;-1:-1:-1;;;;;10303:39:460;;:26;:39;;;;;;;;;;;:79;;;;:39;;:79;;;;;;:::i;:::-;;9730:724;;;10413:30;;-1:-1:-1;;;10413:30:460;;12921:2:493;10413:30:460;;;12903:21:493;12960:2;12940:18;;;12933:30;12999:22;12979:18;;;12972:50;13039:18;;10413:30:460;12719:344:493;26141:789:157;26197:13;-1:-1:-1;;;26226:1:157;:16;:36;;;;-1:-1:-1;;;26246:1:157;:16;26226:36;26222:108;;;26285:34;;;;;;;;;;;;;;26222:108;26364:10;26388;26421:1;26417;:5;:32;;26447:1;26417:32;;;26434:1;26433:2;;26417:32;26412:37;;26472:1;26468;:5;:32;;26498:1;26468:32;;;26485:1;26484:2;;26468:32;26463:37;;26515:12;26530:32;26555:2;26559;26530:24;:32::i;:::-;26515:47;;966:78;26580:4;:27;26576:106;;;26634:33;;;;;;;;6857:25:493;;;6830:18;;26634:33:157;6713:175:493;26576:106:157;-1:-1:-1;;26777:17:157;;;;26817;;26870:7;;;26791:1;26870:12;:43;;26908:4;26870:43;;;26893:4;26885:13;;26870:43;26861:52;26141:789;-1:-1:-1;;;;;;;;26141:789:157:o;5389:1107::-;5445:13;-1:-1:-1;;;5474:1:157;:16;:36;;;;-1:-1:-1;;;5494:1:157;:16;5474:36;5470:108;;;5533:34;;;;;;;;;;;;;;5470:108;5643:10;5663;5716:1;5712;:5;:32;;5742:1;5712:32;;;5729:1;5728:2;;5712:32;5707:37;;5767:1;5763;:5;:32;;5793:1;5763:32;;;5780:1;5779:2;;5763:32;5758:37;;5906:12;5921:38;5936:2;1815:4;5956:2;5921:14;:38::i;:::-;5906:53;;966:78;5973:4;:27;5969:98;;;6023:33;;;;;;;;6857:25:493;;;6830:18;;6023:33:157;6713:175:493;5969:98:157;-1:-1:-1;;6183:17:157;;;;6219;;6446:7;;;6197:1;6446:12;:43;;6484:4;6446:43;;;6461:13;6469:4;6461:13;:::i;1936:7342:460:-;2086:15;2113:36;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2113:36:460;2193:15;:30;;;2180:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2180:44:460;-1:-1:-1;2159:18:460;;;:65;2333:20;;-1:-1:-1;;;;;2306:48:460;:26;:48;;;;;;;;;;;;2269:139;;;;;;;;;;;;;;;;;;;;;;2306:48;2269:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2368:15;:30;;;2269:23;:139::i;:::-;2234:32;;;:174;2499:30;;;;2474:22;;2499:34;;2532:1;;2499:34;:::i;:::-;2537:1;2499:39;;2474:64;;2548:27;2611:1;2578:15;:30;;;:34;;;;:::i;:::-;2548:64;;2622:22;2654:15;:22;;;2677:1;2654:25;;;;;;;;:::i;:::-;;;;;;;2647:33;;2622:58;;2690:21;2720:15;623:8;2714:21;;;;:::i;:::-;2690:45;;2836:15;:22;;;:29;2869:1;2836:34;2832:6404;;2933:46;2963:15;2933:25;:14;761:8;2933:18;:25::i;:46::-;2914:65;;2998:88;;;;-1:-1:-1;;3043:24:460;;;;2998:88;3458:6;3453:1468;3470:22;3466:1;:26;3453:1468;;;3706:68;3759:14;3721:15;:29;;;3751:1;3721:32;;;;;;;;:::i;:::-;;;;;;;3707:8;3716:1;3707:11;;;;;;;;:::i;:::-;;;;;;;:46;;;;:::i;3706:68::-;3627:56;3647:6;:32;;;3680:1;3647:35;;;;;;;;:::i;:::-;;;;;;;3627:15;:19;;:56;;;;:::i;:::-;:147;;;;:::i;:::-;3580:24;;;:194;;;3793:32;;;;:35;;3826:1;;3793:35;;;;;;:::i;:::-;;;;;;;;;;;:62;;;;3918:24;;;3897:16;;:46;;:20;:46::i;:::-;3873:6;:18;;;3892:1;3873:21;;;;;;;;:::i;:::-;;;;;;;;;;:70;4019:1;4015:5;;3994:18;;;;:26;;;4238:29;;;:49;;4206:148;;4318:14;;4238:29;:49;;;;;;:::i;:::-;;;;;;;4207:8;4216:6;:18;;;4207:28;;;;;;;;:::i;4206:148::-;4110:73;4130:6;:32;;;4163:6;:18;;;4130:52;;;;;;;;:::i;4110:73::-;:244;;;;:::i;:::-;4057:30;;;:297;;;4414:16;;:52;;:20;:52::i;:::-;4373:6;:18;;;4392:6;:18;;;4373:38;;;;;;;;:::i;:::-;;;;;;:93;;;;;4562:146;4603:6;:32;;;4636:1;4603:35;;;;;;;;:::i;:::-;;;;;;;4660:6;:30;;;4562:19;:146::i;:::-;4512:20;;-1:-1:-1;;;;;4485:48:460;:26;:48;;;;;;;;;;4534:24;;;;4485:74;;;;;;;;:::i;:::-;;;;;;;;;;:223;4864:24;;;4862:26;;;;;;4839:1;4834:6;3453:1468;;;;5013:17;5009:812;;;5082:24;;;;;5290:156;5410:14;5326:15;:29;;;5356:22;5326:53;;;;;;;;:::i;:::-;;;;;;;5291:8;5300:22;5291:32;;;;;;;;:::i;5290:156::-;5190:77;5210:6;:32;;;5243:22;5210:56;;;;;;;;:::i;:::-;;;;;;;5190:15;:19;;:77;;;;:::i;:::-;:256;;;;:::i;:::-;5143:24;;;:303;;;5582:114;;5630:1;;5582:19;:114::i;:::-;5532:20;;-1:-1:-1;;;;;5505:48:460;:26;:48;;;;;;;;;;5554:24;;;;5505:74;;;;;;;;:::i;:::-;;;;;;;;;;;:191;;;;5781:24;;;5760:16;;:46;;:20;:46::i;:::-;5715:6;:18;;;5734:22;5715:42;;;;;;;;:::i;:::-;;;;;;:91;;;;;5009:812;2832:6404;;;6048:17;6044:80;;;6085:24;;;:::i;:::-;;;6044:80;6143:6;6138:1929;6155:22;6151:1;:26;6138:1929;;;6256:15;:22;;;6279:1;6256:25;;;;;;;;:::i;:::-;;;;;;;6249:33;;6231:51;;6327:15;623:8;6321:21;6304:38;;6383:46;6413:15;6383:25;761:8;6383:14;:18;;:25;;;;:::i;:46::-;6364:65;;6673:29;;;;:32;;6658:68;;6711:14;;6703:1;;6673:32;;;;;;:::i;6658:68::-;6579:56;6599:6;:32;;;6632:1;6599:35;;;;;;;;:::i;6579:56::-;:147;;;;:::i;:::-;6532:24;;;:194;;;6745:32;;;;:35;;6778:1;;6745:35;;;;;;:::i;:::-;;;;;;;;;;;:62;;;;6870:24;;;6849:16;;:46;;:20;:46::i;:::-;6825:6;:18;;;6844:1;6825:21;;;;;;;;:::i;:::-;;;;;;;;;;:70;6971:1;6967:5;;6946:18;;;:26;;;7019:22;;;;:42;;:22;;6967:5;7019:42;;;;;;:::i;:::-;;;;;;;7012:50;;6994:68;;7107:15;623:8;7101:21;7084:38;;7163:46;7193:15;7163:25;761:8;7163:14;:18;;:25;;;;:::i;:46::-;7144:65;;7427:29;;;;;7457:18;;;;7427:49;;7395:148;;7507:14;;7427:29;;:49;;;;;;:::i;7395:148::-;7299:73;7319:6;:32;;;7352:6;:18;;;7319:52;;;;;;;;:::i;7299:73::-;:244;;;;:::i;:::-;7246:30;;;:297;;;7603:16;;:52;;:20;:52::i;:::-;7562:6;:18;;;7581:6;:18;;;7562:38;;;;;;;;:::i;:::-;;;;;;:93;;;;;7784:146;7825:6;:32;;;7858:1;7825:35;;;;;;;;:::i;7784:146::-;7734:20;;-1:-1:-1;;;;;7707:48:460;:26;:48;;;;;;;;;;7756:24;;;;7707:74;;;;;;;;:::i;:::-;;;;;;;;;;:223;8010:24;;;8008:26;;;;;;7985:1;7980:6;6138:1929;;;;8161:17;8157:1069;;;8230:24;;;;;8301:15;:22;;;8324;8301:46;;;;;;;;:::i;:::-;;;;;;;8294:54;;8276:72;;8393:15;623:8;8387:21;8370:38;;8449:46;8479:15;8449:25;761:8;8449:14;:18;;:25;;;;:::i;:46::-;8430:65;;8715:29;;;;:53;;8679:156;;8799:14;;8745:22;;8715:53;;;;;;:::i;8679:156::-;8579:77;8599:6;:32;;;8632:22;8599:56;;;;;;;;:::i;8579:77::-;:256;;;;:::i;:::-;8532:24;;;:303;;;8899:16;;:46;;:20;:46::i;:::-;8854:6;:18;;;8873:22;8854:42;;;;;;;;:::i;:::-;;;;;;:91;;;;;9097:114;9145:1;9169:6;:24;;;9097:19;:114::i;:::-;9047:20;;-1:-1:-1;;;;;9020:48:460;:26;:48;;;;;;;;;;9069:24;;;;9020:74;;;;;;;;:::i;:::-;;;;;;;;;;:191;8157:1069;-1:-1:-1;;;;9253:18:460;;;;;-1:-1:-1;;;1936:7342:460:o;1990:1502:461:-;2188:15;;2117;;2237:1;2221:17;;;2217:71;;2265:8;2258:15;;;;;2217:71;2301:18;2322:24;2301:45;;2360:18;2404:81;2460:24;2404:51;2452:1;2434:8;:15;:19;2404:22;:51::i;:81::-;439:8;2381:105;;;;-1:-1:-1;2500:24:461;;2581:503;2598:12;2594:1;:16;2581:503;;;2653:11;2639:8;2648:1;2639:11;;;;;;;;:::i;:::-;;;;;;;:25;2635:435;;;2702:11;2688:8;2697:1;2688:11;;;;;;;;:::i;:::-;;;;;;:25;;;;;2756:11;2735:32;;;;2635:435;;;2810:11;2796:8;2805:1;2796:11;;;;;;;;:::i;:::-;;;;;;;:25;2792:278;;;2859:11;2845:8;2854:1;2845:11;;;;;;;;:::i;:::-;;;;;;;;;;:25;2892:30;;;;2792:278;;;3040:8;3049:1;3040:11;;;;;;;;:::i;:::-;;;;;;;3021:30;;;;2792:278;2612:3;;2581:503;;;-1:-1:-1;3101:20:461;;3097:354;;3141:28;3172:38;:17;3194:15;3172:21;:38::i;:::-;3141:69;;3233:6;3228:209;3245:12;3241:1;:16;3228:209;;;3305:11;3290:8;3299:1;3290:11;;;;;;;;:::i;:::-;;;;;;;:26;3286:133;;3358:38;3374:21;3358:8;3367:1;3358:11;;;;;;;;:::i;:38::-;3344:8;3353:1;3344:11;;;;;;;;:::i;:::-;;;;;;:52;;;;;3286:133;3259:3;;3228:209;;;;3123:328;3097:354;-1:-1:-1;3477:8:461;;1990:1502;-1:-1:-1;;;;;;1990:1502:461:o;3783:3486::-;3948:15;4021:11;3999:19;4046:435;4063:12;:19;4059:1;:23;4046:435;;;4107:16;4163:11;4175:1;4163:14;;;;;;;;:::i;:::-;;;;;;;4145:12;4158:1;4145:15;;;;;;;;:::i;:::-;;;;;;;:32;4141:214;;;4231:11;4243:1;4231:14;;;;;;;;:::i;:::-;;;;;;;4213:12;4226:1;4213:15;;;;;;;;:::i;:::-;;;;;;;:32;4201:44;;4141:214;;;4321:12;4334:1;4321:15;;;;;;;;:::i;:::-;;;;;;;4304:11;4316:1;4304:14;;;;;;;;:::i;:::-;;;;;;;:32;4292:44;;4141:214;4388:12;4376:9;:24;4372:95;;;4439:9;4424:24;;4372:95;-1:-1:-1;4084:3:461;;4046:435;;;;4494:20;4528:19;4561:16;4591:25;4630:22;4685:11;4670:12;:26;4666:1484;;;4716:20;4739:29;:11;4755:12;4739:15;:29::i;:::-;4716:52;;4791:6;4786:735;4803:11;:18;4799:1;:22;4786:735;;;4850:15;4868:53;4907:13;4886:12;4899:1;4886:15;;;;;;;;:::i;:::-;;;;;;;4869:11;4881:1;4869:14;;;;;;;;:::i;:::-;;;;;;;:32;4868:38;;:53;;;;:::i;:::-;4850:71;;4978:8;4960:12;4973:1;4960:15;;;;;;;;:::i;:::-;;;;;;;:26;4943:11;4955:1;4943:14;;;;;;;;:::i;:::-;;;;;;:43;;;;;5025:11;5037:1;5025:14;;;;;;;;:::i;:::-;;;;;;;5008:31;;;;5082:9;5065:11;5077:1;5065:14;;;;;;;;:::i;:::-;;;;;;;:26;5061:442;;;5137:9;5119:27;;5195:14;5172:37;;5247:11;5259:1;5247:14;;;;;;;;:::i;:::-;;;;;;;5235:26;;5304:1;5287:18;;5061:442;;;5355:15;5338:11;5350:1;5338:14;;;;;;;;:::i;:::-;;;;;;;:32;5334:169;;;5416:11;5428:1;5416:14;;;;;;;;:::i;:::-;;;;;;;5398:32;;5479:1;5456:24;;5334:169;-1:-1:-1;4823:3:461;;4786:735;;;;4698:837;4666:1484;;;5564:6;5559:577;5576:11;:18;5572:1;:22;5559:577;;;5640:11;5652:1;5640:14;;;;;;;;:::i;:::-;;;;;;;5623:31;;;;5697:9;5680:11;5692:1;5680:14;;;;;;;;:::i;:::-;;;;;;;:26;5676:442;;;5752:9;5734:27;;5810:14;5787:37;;5862:11;5874:1;5862:14;;;;;;;;:::i;:::-;;;;;;;5850:26;;5919:1;5902:18;;5676:442;;;5970:15;5953:11;5965:1;5953:14;;;;;;;;:::i;:::-;;;;;;;:32;5949:169;;;6031:11;6043:1;6031:14;;;;;;;;:::i;:::-;;;;;;;6013:32;;6094:1;6071:24;;5949:169;5596:3;;5559:577;;;;4666:1484;439:8;6889:13;:20;6886:339;;439:8;6931:13;:19;6928:283;;;439:8;7034:13;:19;7003:11;7015:14;7003:27;;;;;;;;:::i;:::-;;;;;;;:51;6973:11;6985:14;6973:27;;;;;;;;:::i;:::-;;;;;;:81;;;;;6928:283;;;7178:13;439:8;7172:19;7135:11;7147:20;7135:33;;;;;;;;:::i;:::-;;;;;;;:57;7099:11;7111:20;7099:33;;;;;;;;:::i;:::-;;;;;;:93;;;;;6928:283;3975:3260;;;;;;7251:11;7244:18;;3783:3486;;;;;;:::o;20191:1149:156:-;20262:14;;;-1:-1:-1;;20377:1:156;20374;20367:20;20416:1;20413;20409:9;20400:18;;20467:5;20463:2;20460:13;20452:5;20448:2;20444:14;20440:34;20431:43;;;4210:4;20498:5;:14;20494:92;;20535:40;;;;;;;;6857:25:493;;;6830:18;;20535:40:156;6713:175:493;20494:92:156;20596:17;20623:19;20701:5;20698:1;20695;20688:19;20675:32;;20749:18;20738:9;20735:33;20720:48;;20792:5;20801:1;20792:10;20788:152;;20873:11;4210:4;20856:5;:13;20855:29;20846:38;;20902:13;;;;;;20788:152;21189:11;21061:21;;;21057:39;21137:20;;;;21126:32;;;21160:45;21122:84;21029:199;;;;21250:13;21004:277;20983:341;;-1:-1:-1;20191:1149:156;;;;:::o;15079:3983::-;15191:14;;;-1:-1:-1;;15680:1:156;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;;;;;;;13761:25:493;;;13802:18;;;13795:34;;;13734:18;;16135:43:156;13587:248:493;16088:101:156;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:1;:15;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;;;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;;-1:-1:-1;;;;15079:3983:156:o;27710:220:157:-;27766:13;27795:1;27800;27795:6;27791:133;;27826:6;;:26;;27850:1;27826:26;;;1815:4;27826:26;27817:35;;27791:133;;;27892:21;27897:15;27901:7;27906:1;27901:4;:7::i;:::-;27910:1;27897:3;:15::i;:::-;27892:4;:21::i;23382:1887::-;23429:13;23463:1;23458;:6;23454:79;;23487:35;;;;;;;;6857:25:493;;;6830:18;;23487:35:157;6713:175:493;23454:79:157;23622:11;1815:4;23651:1;:10;23647:321;;-1:-1:-1;23688:1:157;23647:321;;;-1:-1:-1;;23728:9:157;;23934:1;23895:37;23891:45;23886:50;;23647:321;24104:9;24116:46;1815:4;24151:1;:9;24116:26;:46::i;:::-;1815:4;24393:17;;;-1:-1:-1;24104:58:157;-1:-1:-1;24475:6:157;;;-1:-1:-1;;24554:10:157;;24550:69;;-1:-1:-1;;24591:13:157;;23382:1887;-1:-1:-1;23382:1887:157:o;24550:69::-;825:4;24809:416;24857:1;24849:5;:9;24809:416;;;1815:4;24896:5;;;24895:15;;-1:-1:-1;24995:9:157;24990:14;;24986:225;;25091:15;;;;25191:1;25185:7;;;;;24986:225;24870:1;24860:11;24809:416;;;-1:-1:-1;;;25238:14:157;;23382:1887;-1:-1:-1;23382:1887:157:o;8486:1074::-;8533:13;8612:1;8608;:5;8604:950;;;-1:-1:-1;;8740:1:157;:26;8736:73;;;-1:-1:-1;8793:1:157;;8486:1074;-1:-1:-1;8486:1074:157:o;8736:73::-;8963:8;8969:1;8968:2;;8963:4;:8::i;:::-;8956:4;:15;;;;;:::i;:::-;;;8486:1074;-1:-1:-1;;8486:1074:157:o;8604:950::-;9121:6;9116:1;:11;9112:91;;9154:34;;;;;;;;6857:25:493;;;6830:18;;9154:34:157;6713:175:493;9112:91:157;1815:4;9345:2;9331:16;;;9330:35;9507:21;9330:35;9507:12;:21::i;:::-;9491:38;;9217:327;8604:950;8486:1074;;;:::o;13747:744:156:-;13809:11;13841:6;13836:1;:11;13832:75;;13869:3;13863:9;;;;13886:10;;;;:::i;:::-;;;13832:75;13925:5;13920:1;:10;13916:72;;13952:2;13946:8;;;;13968:9;;;;:::i;:::-;;;13916:72;14006:5;14001:1;:10;13997:72;;14033:2;14027:8;;;;14049:9;;;;:::i;:::-;;;13997:72;14087:5;14082:1;:10;14078:72;;14114:2;14108:8;;;;14130:9;;;;:::i;:::-;;;14078:72;14168:4;14163:1;:9;14159:69;;14194:1;14188:7;;;;14209:8;;;;:::i;:::-;;;14159:69;14246:4;14241:1;:9;14237:69;;14272:1;14266:7;;;;14287:8;;;;:::i;:::-;;;14237:69;14324:4;14319:1;:9;14315:69;;14350:1;14344:7;;;;14365:8;;;;:::i;:::-;;;14315:69;14402:4;14397:1;:9;14393:92;;14466:8;14473:1;14466:8;;:::i;4886:8474::-;5061:50;5355:18;5351:22;;:26;5347:110;;5416:19;5407:28;5440:2;5406:36;5347:110;5478:18;5474:22;;:26;5470:110;;5539:19;5530:28;5563:2;5529:36;5470:110;5601:18;5597:22;;:26;5593:110;;5662:19;5653:28;5686:2;5652:36;5593:110;5724:18;5720:22;;:26;5716:110;;5785:19;5776:28;5809:2;5775:36;5716:110;5847:17;5843:21;;:25;5839:109;;5907:19;5898:28;5931:2;5897:36;5839:109;5969:17;5965:21;;:25;5961:109;;6029:19;6020:28;6053:2;6019:36;5961:109;6091:17;6087:21;;:25;6083:109;;6151:19;6142:28;6175:2;6141:36;6083:109;6213:17;6209:21;;:25;6205:109;;6273:19;6264:28;6297:2;6263:36;6205:109;6335:16;6331:20;;:24;6327:108;;6394:19;6385:28;6418:2;6384:36;6327:108;6456:16;6452:20;;:24;6448:108;;6515:19;6506:28;6539:2;6505:36;6448:108;6577:16;6573:20;;:24;6569:108;;6636:19;6627:28;6660:2;6626:36;6569:108;6698:16;6694:20;;:24;6690:108;;6757:19;6748:28;6781:2;6747:36;6690:108;6819:15;6815:19;;:23;6811:107;;6877:19;6868:28;6901:2;6867:36;6811:107;6939:15;6935:19;;:23;6931:107;;6997:19;6988:28;7021:2;6987:36;6931:107;7059:15;7055:19;;:23;7051:107;;7117:19;7108:28;7141:2;7107:36;7051:107;7179:15;7175:19;;:23;7171:107;;7237:19;7228:28;7261:2;7227:36;7171:107;7299:14;7295:18;;:22;7291:106;;7356:19;7347:28;7380:2;7346:36;7291:106;7418:14;7414:18;;:22;7410:106;;7475:19;7466:28;7499:2;7465:36;7410:106;7537:14;7533:18;;:22;7529:106;;7594:19;7585:28;7618:2;7584:36;7529:106;7656:14;7652:18;;:22;7648:106;;7713:19;7704:28;7737:2;7703:36;7648:106;7775:13;7771:17;;:21;7767:105;;7831:19;7822:28;7855:2;7821:36;7767:105;7893:13;7889:17;;:21;7885:105;;7949:19;7940:28;7973:2;7939:36;7885:105;8011:13;8007:17;;:21;8003:105;;8067:19;8058:28;8091:2;8057:36;8003:105;8129:13;8125:17;;:21;8121:105;;8185:19;8176:28;8209:2;8175:36;8121:105;8247:12;8243:16;;:20;8239:104;;8302:19;8293:28;8326:2;8292:36;8239:104;8364:12;8360:16;;:20;8356:104;;8419:19;8410:28;8443:2;8409:36;8356:104;8481:12;8477:16;;:20;8473:104;;8536:19;8527:28;8560:2;8526:36;8473:104;8598:12;8594:16;;:20;8590:104;;8653:19;8644:28;8677:2;8643:36;8590:104;8715:11;8711:15;;:19;8707:103;;8769:19;8760:28;8793:2;8759:36;8707:103;8831:11;8827:15;;:19;8823:103;;8885:19;8876:28;8909:2;8875:36;8823:103;8947:11;8943:15;;:19;8939:103;;9001:19;8992:28;9025:2;8991:36;8939:103;9063:11;9059:15;;:19;9055:103;;9117:19;9108:28;9141:2;9107:36;9055:103;9179:10;9175:14;;:18;9171:102;;9232:19;9223:28;9256:2;9222:36;9171:102;9294:10;9290:14;;:18;9286:102;;9347:19;9338:28;9371:2;9337:36;9286:102;9409:10;9405:14;;:18;9401:102;;9462:19;9453:28;9486:2;9452:36;9401:102;9524:10;9520:14;;:18;9516:102;;9577:19;9568:28;9601:2;9567:36;9516:102;9639:9;9635:13;;:17;9631:101;;9691:19;9682:28;9715:2;9681:36;9631:101;9753:9;9749:13;;:17;9745:101;;9805:19;9796:28;9829:2;9795:36;9745:101;9867:9;9863:13;;:17;9859:101;;9919:19;9910:28;9943:2;9909:36;9859:101;9981:9;9977:13;;:17;9973:101;;10033:19;10024:28;10057:2;10023:36;9973:101;10095:8;10091:12;;:16;10087:100;;10146:19;10137:28;10170:2;10136:36;10087:100;10208:8;10204:12;;:16;10200:100;;10259:19;10250:28;10283:2;10249:36;10200:100;10321:8;10317:12;;:16;10313:100;;10372:19;10363:28;10396:2;10362:36;10313:100;10434:8;10430:12;;:16;10426:100;;10485:19;10476:28;10509:2;10475:36;10426:100;10547:7;10543:11;;:15;10539:99;;10597:19;10588:28;10621:2;10587:36;10539:99;10659:7;10655:11;;:15;10651:99;;10709:19;10700:28;10733:2;10699:36;10651:99;10771:7;10767:11;;:15;10763:99;;10821:19;10812:28;10845:2;10811:36;10763:99;10883:7;10879:11;;:15;10875:99;;10933:19;10924:28;10957:2;10923:36;10875:99;10995:6;10991:10;;:14;10987:98;;11044:19;11035:28;11068:2;11034:36;10987:98;11106:6;11102:10;;:14;11098:98;;11155:19;11146:28;11179:2;11145:36;11098:98;11217:6;11213:10;;:14;11209:98;;11266:19;11257:28;11290:2;11256:36;11209:98;11328:6;11324:10;;:14;11320:98;;11377:19;11368:28;11401:2;11367:36;11320:98;11439:5;11435:9;;:13;11431:97;;11487:19;11478:28;11511:2;11477:36;11431:97;11549:5;11545:9;;:13;11541:97;;11597:19;11588:28;11621:2;11587:36;11541:97;11659:5;11655:9;;:13;11651:97;;11707:19;11698:28;11731:2;11697:36;11651:97;11769:5;11765:9;;:13;11761:97;;11817:19;11808:28;11841:2;11807:36;11761:97;11879:4;11875:8;;:12;11871:96;;11926:19;11917:28;11950:2;11916:36;11871:96;11988:4;11984:8;;:12;11980:96;;12035:19;12026:28;12059:2;12025:36;11980:96;12097:4;12093:8;;:12;12089:96;;12144:19;12135:28;12168:2;12134:36;12089:96;12206:4;12202:8;;:12;12198:96;;12253:19;12244:28;12277:2;12243:36;12198:96;12315:3;12311:7;;:11;12307:95;;12361:19;12352:28;12385:2;12351:36;12307:95;12423:3;12419:7;;:11;12415:95;;12469:19;12460:28;12493:2;12459:36;12415:95;12531:3;12527:7;;:11;12523:95;;12577:19;12568:28;12601:2;12567:36;12523:95;12639:3;12635:7;;:11;12631:95;;12685:19;12676:28;12709:2;12675:36;12631:95;4210:4;13286:15;13339:2;13334:7;;;;13327:3;:15;13315:28;;4886:8474::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:418:493;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:385::-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:493;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;795:3;788:4;778:6;775:1;771:14;763:6;759:27;755:38;752:47;749:67;;;812:1;809;802:12;749:67;437:385;;;;;:::o;827:481::-;939:6;947;1000:2;988:9;979:7;975:23;971:32;968:52;;;1016:1;1013;1006:12;968:52;1056:9;1043:23;1089:18;1081:6;1078:30;1075:50;;;1121:1;1118;1111:12;1075:50;1160:88;1240:7;1231:6;1220:9;1216:22;1160:88;:::i;:::-;1267:8;;1134:114;;-1:-1:-1;827:481:493;-1:-1:-1;;;;827:481:493:o;1505:226::-;1564:6;1617:2;1605:9;1596:7;1592:23;1588:32;1585:52;;;1633:1;1630;1623:12;1585:52;-1:-1:-1;1678:23:493;;1505:226;-1:-1:-1;1505:226:493:o;1736:196::-;1804:20;;-1:-1:-1;;;;;1853:54:493;;1843:65;;1833:93;;1922:1;1919;1912:12;1937:184;-1:-1:-1;;;1986:1:493;1979:88;2086:4;2083:1;2076:15;2110:4;2107:1;2100:15;2126:953;2179:5;2232:3;2225:4;2217:6;2213:17;2209:27;2199:55;;2250:1;2247;2240:12;2199:55;2290:6;2277:20;2320:18;2312:6;2309:30;2306:56;;;2342:18;;:::i;:::-;2388:6;2385:1;2381:14;2424:2;2418:9;2487:2;2483:7;2478:2;2474;2470:11;2466:25;2458:6;2454:38;2558:6;2546:10;2543:22;2522:18;2510:10;2507:34;2504:62;2501:88;;;2569:18;;:::i;:::-;2605:2;2598:22;2655;;;2705:4;2737:15;;;2733:26;;;2655:22;2693:17;;2771:15;;;2768:35;;;2799:1;2796;2789:12;2768:35;2835:4;2827:6;2823:17;2812:28;;2849:200;2865:6;2860:3;2857:15;2849:200;;;2957:17;;2987:18;;3034:4;2882:14;;;;3025;2849:200;;;-1:-1:-1;3067:6:493;2126:953;-1:-1:-1;;;;;2126:953:493:o;3084:775::-;3218:6;3226;3234;3242;3295:3;3283:9;3274:7;3270:23;3266:33;3263:53;;;3312:1;3309;3302:12;3263:53;3335:29;3354:9;3335:29;:::i;:::-;3325:39;;3415:2;3404:9;3400:18;3387:32;3442:18;3434:6;3431:30;3428:50;;;3474:1;3471;3464:12;3428:50;3497:60;3549:7;3540:6;3529:9;3525:22;3497:60;:::i;:::-;3487:70;;;3610:2;3599:9;3595:18;3582:32;3639:18;3629:8;3626:32;3623:52;;;3671:1;3668;3661:12;3623:52;3694:62;3748:7;3737:8;3726:9;3722:24;3694:62;:::i;:::-;3084:775;;;;-1:-1:-1;3684:72:493;;3825:2;3810:18;3797:32;;-1:-1:-1;;;3084:775:493:o;3864:171::-;3931:20;;3991:18;3980:30;;3970:41;;3960:69;;4025:1;4022;4015:12;4040:1749;4282:6;4290;4298;4306;4314;4322;4330;4338;4346;4354;4362:7;4416:3;4404:9;4395:7;4391:23;4387:33;4384:53;;;4433:1;4430;4423:12;4384:53;4473:9;4460:23;4506:18;4498:6;4495:30;4492:50;;;4538:1;4535;4528:12;4492:50;4577:88;4657:7;4648:6;4637:9;4633:22;4577:88;:::i;:::-;4684:8;;-1:-1:-1;4551:114:493;-1:-1:-1;;4772:2:493;4757:18;;4744:32;4801:18;4788:32;;4785:52;;;4833:1;4830;4823:12;4785:52;4872:90;4954:7;4943:8;4932:9;4928:24;4872:90;:::i;:::-;4981:8;;-1:-1:-1;4846:116:493;-1:-1:-1;5035:38:493;;-1:-1:-1;5069:2:493;5054:18;;5035:38;:::i;:::-;5025:48;;5126:2;5115:9;5111:18;5098:32;5155:18;5145:8;5142:32;5139:52;;;5187:1;5184;5177:12;5139:52;5226:90;5308:7;5297:8;5286:9;5282:24;5226:90;:::i;:::-;5335:8;;-1:-1:-1;5200:116:493;-1:-1:-1;;5423:3:493;5408:19;;5395:33;5453:18;5440:32;;5437:52;;;5485:1;5482;5475:12;5437:52;5524:90;5606:7;5595:8;5584:9;5580:24;5524:90;:::i;:::-;5633:8;;-1:-1:-1;5498:116:493;-1:-1:-1;5687:38:493;;-1:-1:-1;5720:3:493;5705:19;;5687:38;:::i;:::-;5677:48;;5745:38;5778:3;5767:9;5763:19;5745:38;:::i;:::-;5734:49;;4040:1749;;;;;;;;;;;;;;:::o;5794:609::-;5982:2;5994:21;;;6064:13;;5967:18;;;6086:22;;;5934:4;;6165:15;;;6139:2;6124:18;;;5934:4;6208:169;6222:6;6219:1;6216:13;6208:169;;;6283:13;;6271:26;;6326:2;6352:15;;;;6317:12;;;;6244:1;6237:9;6208:169;;;-1:-1:-1;6394:3:493;;5794:609;-1:-1:-1;;;;;5794:609:493:o;6408:300::-;6476:6;6484;6537:2;6525:9;6516:7;6512:23;6508:32;6505:52;;;6553:1;6550;6543:12;6505:52;6576:29;6595:9;6576:29;:::i;:::-;6566:39;6674:2;6659:18;;;;6646:32;;-1:-1:-1;;;6408:300:493:o;6893:437::-;6972:1;6968:12;;;;7015;;;7036:61;;7090:4;7082:6;7078:17;7068:27;;7036:61;7143:2;7135:6;7132:14;7112:18;7109:38;7106:218;;-1:-1:-1;;;7177:1:493;7170:88;7281:4;7278:1;7271:15;7309:4;7306:1;7299:15;7106:218;;6893:437;;;:::o;7335:184::-;-1:-1:-1;;;7384:1:493;7377:88;7484:4;7481:1;7474:15;7508:4;7505:1;7498:15;7524:544;7616:4;7622:6;7682:11;7669:25;7776:2;7772:7;7761:8;7745:14;7741:29;7737:43;7717:18;7713:68;7703:96;;7795:1;7792;7785:12;7703:96;7822:33;;7874:20;;;-1:-1:-1;7917:18:493;7906:30;;7903:50;;;7949:1;7946;7939:12;7903:50;7982:4;7970:17;;-1:-1:-1;8033:1:493;8029:14;;;8013;8009:35;7999:46;;7996:66;;;8058:1;8055;8048:12;8747:184;-1:-1:-1;;;8796:1:493;8789:88;8896:4;8893:1;8886:15;8920:4;8917:1;8910:15;8936:128;9003:9;;;9024:11;;;9021:37;;;9038:18;;:::i;9069:184::-;9127:6;9180:2;9168:9;9159:7;9155:23;9151:32;9148:52;;;9196:1;9193;9186:12;9148:52;9219:28;9237:9;9219:28;:::i;9258:184::-;-1:-1:-1;;;9307:1:493;9300:88;9407:4;9404:1;9397:15;9431:4;9428:1;9421:15;9447:112;9479:1;9505;9495:35;;9510:18;;:::i;:::-;-1:-1:-1;9544:9:493;;9447:112::o;9564:125::-;9629:9;;;9650:10;;;9647:36;;;9663:18;;:::i;10045:168::-;10118:9;;;10149;;10166:15;;;10160:22;;10146:37;10136:71;;10187:18;;:::i;10554:200::-;10620:9;;;10593:4;10648:9;;10676:10;;10688:12;;;10672:29;10711:12;;;10703:21;;10669:56;10666:82;;;10728:18;;:::i;:::-;10666:82;10554:200;;;;:::o;10759:216::-;10823:9;;;10851:11;;;10798:3;10881:9;;10909:10;;10905:19;;10934:10;;10926:19;;10902:44;10899:70;;;10949:18;;:::i;:::-;10899:70;;10759:216;;;;:::o;12341:248::-;12380:1;12406;12396:35;;12411:18;;:::i;:::-;-1:-1:-1;;;12447:73:493;;-1:-1:-1;;12522:13:493;;12443:93;12440:119;;;12539:18;;:::i;:::-;-1:-1:-1;12573:10:493;;12341:248::o;12594:120::-;12634:1;12660;12650:35;;12665:18;;:::i;:::-;-1:-1:-1;12699:9:493;;12594:120::o;13250:191::-;13285:3;-1:-1:-1;;;13309:5:493;13306:77;13303:103;;13386:18;;:::i;:::-;-1:-1:-1;13426:1:493;13422:13;;13250:191::o;13446:136::-;13485:3;13513:5;13503:39;;13522:18;;:::i;:::-;-1:-1:-1;;;13558:18:493;;13446:136::o","linkReferences":{},"immutableReferences":{"203600":[{"start":971,"length":32},{"start":1127,"length":32}]}},"methodIdentifiers":{"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)":"b9579b0d","initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":"44a01eb3","movingAverages(address,uint256)":"fe8cb6d7","name()":"06fdde03","parameterDescriptions(uint256)":"33417d8e","validParameters(int256[][])":"0df61b8f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_updateWeightRunner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"PRBMathSD59x18__DivInputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rAbs\",\"type\":\"uint256\"}],\"name\":\"PRBMathSD59x18__DivOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__Exp2InputTooBig\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__FromIntOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__FromIntUnderflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"x\",\"type\":\"int256\"}],\"name\":\"PRBMathSD59x18__LogInputTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRBMathSD59x18__MulInputTooSmall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"rAbs\",\"type\":\"uint256\"}],\"name\":\"PRBMathSD59x18__MulOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivFixedPointOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"_prevWeights\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"_data\",\"type\":\"int256[]\"},{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"int256[][]\",\"name\":\"_parameters\",\"type\":\"int256[][]\"},{\"internalType\":\"uint64[]\",\"name\":\"_lambdaStore\",\"type\":\"uint64[]\"},{\"internalType\":\"uint64\",\"name\":\"_epsilonMax\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_absoluteWeightGuardRail\",\"type\":\"uint64\"}],\"name\":\"CalculateNewWeights\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"updatedWeights\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolAddress\",\"type\":\"address\"},{\"internalType\":\"int256[]\",\"name\":\"_newMovingAverages\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"_newInitialValues\",\"type\":\"int256[]\"},{\"internalType\":\"uint256\",\"name\":\"_numberOfAssets\",\"type\":\"uint256\"}],\"name\":\"initialisePoolRuleIntermediateValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"movingAverages\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"parameterDescriptions\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[][]\",\"name\":\"_parameters\",\"type\":\"int256[][]\"}],\"name\":\"validParameters\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)\":{\"params\":{\"_absoluteWeightGuardRail\":\"the minimum weight a token can have\",\"_data\":\"the latest data from the signal, usually price\",\"_epsilonMax\":\"the maximum weights can change in a given update interval\",\"_lambdaStore\":\"either vector or scalar lambda\",\"_parameters\":\"the parameters of the rule that are not lambda\",\"_pool\":\"the target pool address\",\"_prevWeights\":\"the previous weights retrieved from the vault\"}},\"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)\":{\"params\":{\"_newInitialValues\":\"the initial intermediate values to be saved\",\"_newMovingAverages\":\"the initial moving averages to be saved\",\"_numberOfAssets\":\"the number of assets in the pool\",\"_poolAddress\":\"address of pool being initialised\"}},\"validParameters(int256[][])\":{\"details\":\"If parameters are not valid, either reverts or returns false\"}},\"title\":\"AntiMomentumUpdateRule contract for QuantAMM anti-momentum update rule implementation\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMathSD59x18__DivInputTooSmall()\":[{\"notice\":\"Emitted when one of the inputs is MIN_SD59x18.\"}],\"PRBMathSD59x18__DivOverflow(uint256)\":[{\"notice\":\"Emitted when one of the intermediary unsigned results overflows SD59x18.\"}],\"PRBMathSD59x18__Exp2InputTooBig(int256)\":[{\"notice\":\"Emitted when the input is greater than 192.\"}],\"PRBMathSD59x18__FromIntOverflow(int256)\":[{\"notice\":\"Emitted when converting a basic integer to the fixed-point format overflows SD59x18.\"}],\"PRBMathSD59x18__FromIntUnderflow(int256)\":[{\"notice\":\"Emitted when converting a basic integer to the fixed-point format underflows SD59x18.\"}],\"PRBMathSD59x18__LogInputTooSmall(int256)\":[{\"notice\":\"Emitted when the input is less than or equal to zero.\"}],\"PRBMathSD59x18__MulInputTooSmall()\":[{\"notice\":\"Emitted when one of the inputs is MIN_SD59x18.\"}],\"PRBMathSD59x18__MulOverflow(uint256)\":[{\"notice\":\"Emitted when the intermediary absolute result overflows SD59x18.\"}],\"PRBMath__MulDivFixedPointOverflow(uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}],\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)\":{\"notice\":\"top level initialisation function to be called during pool registration\"},\"validParameters(int256[][])\":{\"notice\":\"Check if the given parameters are valid for the rule\"}},\"notice\":\"Contains the logic for calculating the anti-momentum update rule and updating the weights of the QuantAMM pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/rules/AntimomentumUpdateRule.sol\":\"AntiMomentumUpdateRule\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999},\"remappings\":[\":@balancer-labs/=../../node_modules/@balancer-labs/\",\":@chainlink/=../../node_modules/@chainlink/\",\":@openzeppelin/=../../node_modules/@openzeppelin/\",\":@prb/=../../node_modules/@prb/\",\":@violetprotocol/=../../node_modules/@violetprotocol/\",\":ds-test/=../../node_modules/forge-std/lib/ds-test/src/\",\":forge-gas-snapshot/=../../node_modules/forge-gas-snapshot/src/\",\":forge-std/=../../node_modules/forge-std/src/\",\":permit2/=../../node_modules/permit2/\",\":pool-quantamm/=../pool-quantamm/\",\":solidity-utils/=../solidity-utils/\",\":vault/=../vault/\"]},\"sources\":{\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol\":{\"keccak256\":\"0xe308e71a6fe265c80728343e40ad01765d28c757a17026c69996515e6982a374\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d101c55358794adbabc2a4ec94c1b96aab1266d8293e68138f8eb3f322cdd414\",\"dweb:/ipfs/Qmf8qbzfmrjwqSDzvHemQzzB7Hi4kbBzo689TKmmR5uj7r\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol\":{\"keccak256\":\"0x5d6478a2d8a1a2a9d42ebcb7cc95f86e89e7317c9e7d442e2d9beab888832da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08b6f986dbf1c33530b0fc0b1cab6ccb291b4881d2b3ef8ce4b99bf07c321c05\",\"dweb:/ipfs/QmY2UsSJtoxzyyeW2NnBvLQrV9M49UJS7WpReCFANvmLXt\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateWeightRunner.sol\":{\"keccak256\":\"0xad16d2378a21df939cdf9581b31ee42f6b4ccf070f77ece1f459f712e6dee79b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3b66a70b74395f280ce2afe72c20387c27da903267176691073034bc32f0cf\",\"dweb:/ipfs/QmV8Db1sBATHRwexhXdkphjubcK2NbHExWHLrPx9z4yAVH\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol\":{\"keccak256\":\"0xa549c088c1218bb94eec8f55133ed629c077e01f45d3acc704cc48116f2e426f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b19be96ff06bfe5bcc155ac196e16f8d56595bcde3659daf9b5b76ec9cdef6aa\",\"dweb:/ipfs/QmX5eSyKpC1nLBemzFTzofE935hXwgtYPuY9Zhar2fQ7Fx\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-utils/IPoolInfo.sol\":{\"keccak256\":\"0xa7adbaf80bc9cfa44e41776f632b5d7cb2c02c562a124c0e4cb17f06c4a54db3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e4fdf59a7f3dc3b7d6bb6f466e4a0a6263b66c0fc12492baf06ec8c6fdcc2398\",\"dweb:/ipfs/QmWxLpicLjGdgGQ8GjuN9YfDyVapYWwzdgET86ucs9hmFa\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-weighted/IWeightedPool.sol\":{\"keccak256\":\"0x4dbf765d0fba4be1552aa5309aadee71929f74a84818cd453bb23f873ca91bd7\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://65c241e3f125e87cea6cad51b075c6d821ba89e45756d8a57590a1f0c6b0d409\",\"dweb:/ipfs/Qmdhs7Fri1yfaRN4S5mPbr76ytv4EhxDntWeYw6mspw1Xq\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IAuthentication.sol\":{\"keccak256\":\"0xa383f78ec04a4ebadbf64ce0fcef8c14f2487f02330acf2fbab80055c54a5d74\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://077fdb9728fd22008ca58ca9f63cc7ea1b86f9cec778c5ff8943d9322b812f06\",\"dweb:/ipfs/QmVCYYCeuUZK1GqAHzTZBo59cjjh9iQhNYWQvAy2AYAVoN\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IPoolVersion.sol\":{\"keccak256\":\"0xb97e44d4ebd74212195ebf10dc94cd46929e4c3dd217215945d164f02426891f\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://cdc1656abb0e6c82640d17e2752684cce674cdd54665e01491c2b3ccb74c5d8f\",\"dweb:/ipfs/QmfFr81CMmBJa27uHe4aquqHmU2nXCTpXST1shNq6ik8PA\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol\":{\"keccak256\":\"0x3a9a626d90cdf64042441895ce981bf570d9aa56e7c188b34f8603b1d629aae3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://0ac7096c0d5cd5e0c20dcc6681d24eb04ad7e14cbb61d0ebf136f96a2b9752c4\",\"dweb:/ipfs/QmWryZQqLxpxaCBwK6uEfSLKWKsGBsDL7xbdGqFMkW4Uxp\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IVersion.sol\":{\"keccak256\":\"0x8993f223a501fbbe7c1a2f589a12961ea2fab1919dbc02a1eede973692d24e6e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://acce7ad2eab8b257f65aa7e20b7814c71787c08d80e02335ccc7b04818ffcdc7\",\"dweb:/ipfs/QmQtDc6mwAijhvXLK5mbNfZ1JyQX7Q4nRsry5qDbcPpQVi\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IAuthorizer.sol\":{\"keccak256\":\"0x288b9590b9fb743964d46f610c2b0d4eee8457bfe52b890e31be5e11661759e3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://11373e74f2bb6112ae47b709e0161c09b3a2e1a7659bd15fa4ab4bcf8eadcab0\",\"dweb:/ipfs/QmfELyCgCckJz6hPwCw9thNA5kvaoUcCw7gcoxRgWrjMg1\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePool.sol\":{\"keccak256\":\"0x9a1d76aae6ede8baa23b2472faf991337fc0787f8a7b6e0573241060dd485a53\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://32ef0841804401494ddb68a85c7e9e97c4c0e26899a1d61c6ec9841cb5fcb800\",\"dweb:/ipfs/QmT3VTZRCJ8jFvq9VYZZHbSyuVbSnPAx8p6XEiZYppMrYQ\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePoolFactory.sol\":{\"keccak256\":\"0x6f8c558b0520faae0c4576f30225b5a97821a4cd210878a0ba10c102a2f753f3\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b40aa7a5ee39fa2e297c684fd29ad45d866f1fc61cd997120a417b02a4d908aa\",\"dweb:/ipfs/QmYP5pQAF7SDLgy3aerqfnc4VwdmfQix2jcQUNL3o83BY9\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol\":{\"keccak256\":\"0x51fabcdeaefc15a895a04c457968a7fc0ce4f4647d42a91d07a863170d812c28\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://85822ed25a050521ec4b1af2e21d48e2b85cf48828cb9be5d7e5eb104d4ade6a\",\"dweb:/ipfs/QmU4QSNMfQCEacdgQizCxgNUzfnKxdmyqAndNJgLsCQ32t\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IProtocolFeeController.sol\":{\"keccak256\":\"0x743734d3d3503d705f0a778c4b0dd61fdb067e89a07481ddbead0654e6808318\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6198f27b2d01f346fdd3d1302e9a6ddd543d2f06afd675d84919c2242bd26d8d\",\"dweb:/ipfs/QmYntQih5MwxxdGnVu2BPVLeqFuJEH761cByAesjwE6JKT\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/ISwapFeePercentageBounds.sol\":{\"keccak256\":\"0x5a08573f4b3cacd398cbbc119d407a176cb64b7ee522386f4f79300b2851d92d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e2ff398fdc481caf40135abd58e71adc7aeacb8a79f461998fac207f59fcca33\",\"dweb:/ipfs/QmNczb9gmy4V3Kk9UjthyA6CpcntTWPbYvDu8aVtU1SW9k\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IUnbalancedLiquidityInvariantRatioBounds.sol\":{\"keccak256\":\"0xf41d8d01826abce1dc8a81f6d75663b853c718f028ce3c36d79dd3d833e7af2e\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://4677f0f2d6f9caed2acb70a172cf75819b4d3124258ab9b1aabf0c153381d7d8\",\"dweb:/ipfs/QmP8dzBjKzotSv8zEF4HeFZyECiBQn37T4EmegEFgwgdwi\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVault.sol\":{\"keccak256\":\"0xf02dcb0b4fe9b71eb46fc66e327e166091d4e479fc3987c766859c94d505fe03\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://de42ab0fa6f22010ac305d785e787a60fbb94c2d0ba17042a6e60bce33c5ed9f\",\"dweb:/ipfs/QmVonnCCZVGzA3EERuQ4PbtpTTKrtgoXxYmtJ4CqaSmc4e\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol\":{\"keccak256\":\"0x9a651c10b5b352386341d65a37b63c95fbd0c4d401d4539730f3dfb4825acc18\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://26e398b4fc37c80a86327b9cbe14335e5378fa69b3fb222c2dc8cf33707c30fd\",\"dweb:/ipfs/QmY2E1b8DADLp3MStbVK93GACRJgJZxHYJpDrow1xzVhWB\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol\":{\"keccak256\":\"0xb2c6deaa8701201af5d31ac270fbc30ebe6b66a1f9b6b12d1d17d807f7decb66\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://28d6751bc7e7c7221745742cfe906387e0d806ea0a0041b9377fb5a537146063\",\"dweb:/ipfs/QmcphjQ6ramZM6Qxv84jaJbtZ7d5FNFJ8xHWCHZwk7CdZ3\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultEvents.sol\":{\"keccak256\":\"0x0ff416b358949bb5d9553118f7cbfd42aa9aa33fa6bbe4bf470159df07cf6989\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://f033bb516eb8d85554aea408a0a750bf6ccd5655035abd307cc8388a533f1c40\",\"dweb:/ipfs/QmPCjG5jrXU4FrJWsputirF7JXZsNxhopetnHZTfRAFvMn\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol\":{\"keccak256\":\"0xa547348926764942de6030bf7d303684ff675a4a08fab3320f98154450ca5bb8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://6c440d5d23034e35803f135d9336f256ece717370adb93d1f2fb992fa5ffd869\",\"dweb:/ipfs/QmbCaxRG3X9kUEbdrhRbm7JZZoK2nYp8FUXqh7Bn4wnFra\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultMain.sol\":{\"keccak256\":\"0x7df60e55516bf9cfa5156a03afc22e222fb87edf1bb9af48586ff0ff1be71e92\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://baf5a2e16cdb139182df24e2d103f80c72b730be20a04b2486e751af16652ac9\",\"dweb:/ipfs/Qmd6kdQmUFxPRJT1YrRJVVsUYAmpohBRvCM2qdXzVGcv5d\"]},\"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol\":{\"keccak256\":\"0x670a4c7cdc970ed8cc82432894318558d67a530591617177603e0fea631addbc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b240af11378ac8ce54000b7defbd63c3a78d34c8f2bd6061173e35326fb6a042\",\"dweb:/ipfs/Qmf161h2SEXEQ2oahYcwCkxRC6QZocP2GsSjSJW2K57UzR\"]},\"../../node_modules/@balancer-labs/v3-pool-utils/contracts/BasePoolFactory.sol\":{\"keccak256\":\"0xd92ad66da6036962f4b4ddd054a389ba65f1d64ed540c0c210bc42de3e44e435\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://755bc7bbf7e16f272bcbfd5212dcd8e6371431973b17b96370839ca230a761db\",\"dweb:/ipfs/QmaiYCXVqZriea8tbJFjJQbx1kSA5arRQhqyv1F9CMzCQo\"]},\"../../node_modules/@balancer-labs/v3-pool-utils/contracts/PoolInfo.sol\":{\"keccak256\":\"0xa97e2a0fd95d78dcecf67fd8c554ced63bbd6da372b6f8b12f16ad526b6ec608\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d98ad2022f9e3653fd63daca8c0725c7ccbd4f63d0d27c413e90669ce7284a96\",\"dweb:/ipfs/QmZ62RpJj3qSUrrdVD3H72qEszTUuvGkFLSBXAKMhBn5nX\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Authentication.sol\":{\"keccak256\":\"0x807237870f3aaa26cd815c5f600c1d0c60861a2f962fcc341d4b80942288ab52\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://90f108409488d0c38147d2ac7b9facd694dbf1001c501136a249091788c22232\",\"dweb:/ipfs/QmRCaCCGcuL4kxBEbrpq6FfENBJk4Zo8CNe8TRusatuYJ6\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol\":{\"keccak256\":\"0x2520a18de2423ccd618a6ac00cbb4d97637856c5dd9fc68af5e95e2b42013adc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e1d762d46a94a7028c19ebe688a152ed8ff9f55d76a5d347c080b7ddf5fe891e\",\"dweb:/ipfs/QmPaR4HYhHkUGiL5SV4QyjvfmauEUwDVAAHa7wFAW2uviB\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CastingHelpers.sol\":{\"keccak256\":\"0x8b468c356b40134c158695ad68193093444f1a7783966a03947d67c403c87635\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://8d2696338f5f2f11663a2123cd5f7df1a2bfb434d49f93f2c0d1486e9d43d6f4\",\"dweb:/ipfs/QmQihSe7BEvWh4s1EPnqSf5RKNL6fLqEBuMETn6nHouweW\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CodeDeployer.sol\":{\"keccak256\":\"0x58297dc76e77a5427fe2a527d616e4bee048770fde8205ab8928b119925b1449\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://5b24fd7b82652d7e53b5d06d834dedcc2ce0d972568c8bdf299c43defa7c9145\",\"dweb:/ipfs/QmRfSzPyVNajcjjcLyvw2hSCMhUMu1SCCEsYCf8G4xPGM9\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/FactoryWidePauseWindow.sol\":{\"keccak256\":\"0x9594d2dc75aa8c92bb39d30cd76d3bfbb203fe17c4ae35b6f8d882ed4ac868d4\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1a43d706d34c9f071bed27372100fedaeb12ec4c5c3529e150c8684444c4a619\",\"dweb:/ipfs/QmYUnJ2CtjJY2XktSzamExryTNbAYjesnymMpqTvQuXUka\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol\":{\"keccak256\":\"0xe820b139c5ab3a4a26eda124b6c31f755f3203ba80a9b1b187a53e2699c444ab\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://826e19b27c648604e06b5e68ce66ae6fecd3a0214738a7f67046103b12ab1148\",\"dweb:/ipfs/QmZfz3iFQVDMxkyYcAqfh4BJ21FXvSE58Bo1B8snjC92Wf\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Version.sol\":{\"keccak256\":\"0xca8d6e86dafe803f864c5230e4569938d3257fe1e29e2693d6b7822d207a231d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://390de97b518c8a3f0ef6c1a2d448cfa102de6f4777dfc8e14d700b8395730ae5\",\"dweb:/ipfs/QmdmWZrdihBiuSCmwyFkdkXh9yQKNm56TEmtegUS2MPiFg\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol\":{\"keccak256\":\"0x84bcae7004be7e91a88e76a3ac317490bc6845754a12cee88fcab76b1c5de37b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://15f903480fec5ae8042baf458e2246693b0b4a22687e65c2ed3afdf6993bff82\",\"dweb:/ipfs/QmcxsVeSbQ4qYnEZFoeFmiqaoV3rAx1oNhACCZCMZ1E6uf\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/LogExpMath.sol\":{\"keccak256\":\"0x70449e2b423b9850e39adddd7301205aa8b6e9e4ae788fd44d0968cac018eb2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce2174a3629b45dca032f9cf53df35dea240626913b8882a9e2da21610b02796\",\"dweb:/ipfs/Qmf8E4DePnZXjqb3V4A38gSobjgRK6VqavqPByuXvJxtBG\"]},\"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/WeightedMath.sol\":{\"keccak256\":\"0xb31be209c69a6e60f4486b793bfc57b3ab7aa25efd29f40e981d5b9c95196f7b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://04a10cf9c7a408f0d617d8f25dedd1d4d8d0411ac022b26293b39fccfbf41c71\",\"dweb:/ipfs/QmaExV5EYT4dtE9EAybKaraqXnbpM4usyAfFV5DHfatkof\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/BalancerPoolToken.sol\":{\"keccak256\":\"0x79f2ec4f7314bd1c3555368ff02bb9d382489dc8bbd7efbbf306f9a5084f3bec\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a57c155451c5b1c1c59a27770754ccd9ba1be9344db6ac45b8744eba5fa4fa2f\",\"dweb:/ipfs/QmarkRwGaS3egg1FaQH6LibqjT6NocVUbD1jMPWtFxFaQV\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/SingletonAuthentication.sol\":{\"keccak256\":\"0x67518bf3b6bd96f5897c56867fc57f3c31bb9b97abf93cf960de145a5eb82414\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://563857d8606cbd4f727c75f09901d09ec9faa73778fe85e2af851982cdb9b6e8\",\"dweb:/ipfs/QmU7x1gWCPGPAcxA8Qq3z8hscrGRFwsc28qad4RMihZ8qB\"]},\"../../node_modules/@balancer-labs/v3-vault/contracts/VaultGuard.sol\":{\"keccak256\":\"0x678a36266505ecef51b514707c3050baaeb970644894f64eb0a442aa4ab013ec\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d1514c0d27ad60f5f2d863f08258d67d937ec5e7b003d9c9f60526509d72bbef\",\"dweb:/ipfs/QmUVkCKFi1N8ZCzQ8VHD92eD1tzJciBowHmZ6fY8hEwNqF\"]},\"../../node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"../../node_modules/@openzeppelin/contracts/access/Ownable2Step.sol\":{\"keccak256\":\"0x5d3e5de9eadfa1f8a892eb2e95bbebd3e4b8c8ada5b76f104d383fea518fa688\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cde108962511e6a4d3cfb7b6fb6a36bdcfa300761c17dad2d7dd87d4f8117b48\",\"dweb:/ipfs/Qmf7YxUVK68JedWybWfXvzLCegsD95DtGc3mbpEWkWSMm8\"]},\"../../node_modules/@openzeppelin/contracts/interfaces/IERC4626.sol\":{\"keccak256\":\"0x207f64371bc0fcc5be86713aa5da109a870cc3a6da50e93b64ee881e369b593d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://548667cfa76683767c2c610b577f6c2f0675d0ce28f53c3f37b969c84a56b205\",\"dweb:/ipfs/QmUzA1CKC6bDdULuS44wGd7PWBNLiHb6bh7oHwJBDZSLAx\"]},\"../../node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"../../node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d\",\"dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi\"]},\"../../node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0\",\"dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3\"]},\"../../node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245\",\"dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y\"]},\"../../node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867\",\"dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY\"]},\"../../node_modules/@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420\",\"dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR\"]},\"../../node_modules/@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"../../node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c\",\"dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA\"]},\"../../node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c\",\"dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR\"]},\"../../node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c\",\"dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21\",\"dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt\"]},\"../../node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c\",\"dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX\"]},\"../../node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"../../node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"../../node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"../../node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"../../node_modules/@prb/math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]},\"../../node_modules/@prb/math/contracts/PRBMathSD59x18.sol\":{\"keccak256\":\"0x1886d687eace717c05b7dcc20e43a088df0e549df86b453c2222961b520308f0\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://e62bb6764ac875e7e241a8621bbbd32ae7a4c98d681c250efc04fa467ec6da6e\",\"dweb:/ipfs/QmWk5VQSTP3JiCNJ8NGF39nReD1hcCgTvAQH8RBPpXrDfH\"]},\"contracts/QuantAMMStorage.sol\":{\"keccak256\":\"0x218f93e9a4a0f16f974a51e2cf98c6d71c17aac1b0bea28bedd52f2b55263835\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df96dc698a021fe162edf492e684e711420460bb2f190b7f66a1cfeb632dbf3d\",\"dweb:/ipfs/QmZaBezmJpqHW1ep1gjYCQXxGucXQ3WFVX3E7wDBpgFjWS\"]},\"contracts/QuantAMMWeightedPool.sol\":{\"keccak256\":\"0x3411f1acf276859a43594f17054169f6be280c47a483e0e8c8e33a5cb87a2696\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://233952b0c6c0b07271c6b2fa69710f514cd40d2f2b9c6812d95ee86295566066\",\"dweb:/ipfs/QmeZVyZHf1T5WZoT8ouNvzdxc7mSVLfRWtQL3sAerrEEBL\"]},\"contracts/QuantAMMWeightedPoolFactory.sol\":{\"keccak256\":\"0x360d5a6cee5dd7406a6fe3804ba6cf5c46b21ac654abc232b4bae519c6f1ec8c\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://b60523863fc11e5277d9d7c5c80c50f9ba850ae7a3ba04a12cf88d1e6276210d\",\"dweb:/ipfs/QmPSbmT1CVRQUTw9TSrXdw2yRHS2hqXrSxTDNFEeWYWgR5\"]},\"contracts/UpdateWeightRunner.sol\":{\"keccak256\":\"0x4bbabcf5093d23925890d6ffb03a761734b261edaa566c385f21ff3b9b49e1a0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://03580768c92e6cf9b7294c86a364adf82702bdc39702f612398bb7248d64e732\",\"dweb:/ipfs/QmfJf2fbEXPgmVeYoQpscxzYPBBxZqnyPN7ZKZQRpCbyWo\"]},\"contracts/rules/AntimomentumUpdateRule.sol\":{\"keccak256\":\"0xc9df25eb3f2e504664be2a50a5f73ae94de94e8087915858fd520d440fe988e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ba3bf7f3a8f46a75d7313c8908d58ad0d9f6caa4da1ea60e925dece07b3af3ab\",\"dweb:/ipfs/QmXtK9b7X63ZdYrkS2mPRVdmSjg2rsacn38c5qV7MGsPCB\"]},\"contracts/rules/UpdateRule.sol\":{\"keccak256\":\"0xaeda1a2e60490e95e5d18f5d02d8278cc34351c43ee366c01ac31a46f954a7e2\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://60734d6d6394487040e286b5549f65dcb6873077bd6b5e9e027b1f7f5a674f0d\",\"dweb:/ipfs/QmNTva4j9uVM46494cafEEacQdFXCzSftF52F9VyTWb1st\"]},\"contracts/rules/base/QuantammBasedRuleHelpers.sol\":{\"keccak256\":\"0x95f9dba8f8fef11062ee275681e01743acf8dfc1bd7f00fea72a6b62de429efc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ffe743dd2849618a7e9bb37bf33fe65bde7e056e4eeb36a11bd64e4bdc7077e6\",\"dweb:/ipfs/QmXanhX14c2Wd1UxNgqp6UBbmHpiKp3qjgdVx8P3RwAT3g\"]},\"contracts/rules/base/QuantammGradientBasedRule.sol\":{\"keccak256\":\"0xf29cb196d2d396bb2988d2b8666ad1ded73d28ac358dafc0b5b626eaa6742e62\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f4d40f199e6a17c68c01827a2138993d1f21dac93c98c5d244da1d24670325a5\",\"dweb:/ipfs/QmQH9KJdbYHEmiNbTSeaazFvSZY18UHHHsFerh82v8e5Zj\"]},\"contracts/rules/base/QuantammMathGuard.sol\":{\"keccak256\":\"0x388fa467c5f42712aca8b4e15befb0fabe626416ace1f0f5bec2cfd2cf2bcb47\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9674246a3b2795e5979a35ab042ec9ea39092ff5d7c4d7f5491cc5fb34d19bfd\",\"dweb:/ipfs/QmX9twBcRntFgCJFPXJgu5oenbg4CgTjovqjY9Rt7us1Gm\"]},\"contracts/rules/base/QuantammMathMovingAverage.sol\":{\"keccak256\":\"0x9a532f6bcd93817a1a8576a70c90f9381e92aaf82bd1bef9d297589ca86eaa5b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://092cdd190026894fe5113e1c9cfff78b30f68daa49caffcc79c9fbc92b09601b\",\"dweb:/ipfs/Qmcb8XcZVe3UZAVoZ75UVh2d1jAmVk3yZpHu8zB6A1V2Gz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_updateWeightRunner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"PRBMathSD59x18__DivInputTooSmall"},{"inputs":[{"internalType":"uint256","name":"rAbs","type":"uint256"}],"type":"error","name":"PRBMathSD59x18__DivOverflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__Exp2InputTooBig"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__FromIntOverflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__FromIntUnderflow"},{"inputs":[{"internalType":"int256","name":"x","type":"int256"}],"type":"error","name":"PRBMathSD59x18__LogInputTooSmall"},{"inputs":[],"type":"error","name":"PRBMathSD59x18__MulInputTooSmall"},{"inputs":[{"internalType":"uint256","name":"rAbs","type":"uint256"}],"type":"error","name":"PRBMathSD59x18__MulOverflow"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"}],"type":"error","name":"PRBMath__MulDivFixedPointOverflow"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[{"internalType":"int256[]","name":"_prevWeights","type":"int256[]"},{"internalType":"int256[]","name":"_data","type":"int256[]"},{"internalType":"address","name":"_pool","type":"address"},{"internalType":"int256[][]","name":"_parameters","type":"int256[][]"},{"internalType":"uint64[]","name":"_lambdaStore","type":"uint64[]"},{"internalType":"uint64","name":"_epsilonMax","type":"uint64"},{"internalType":"uint64","name":"_absoluteWeightGuardRail","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"CalculateNewWeights","outputs":[{"internalType":"int256[]","name":"updatedWeights","type":"int256[]"}]},{"inputs":[{"internalType":"address","name":"_poolAddress","type":"address"},{"internalType":"int256[]","name":"_newMovingAverages","type":"int256[]"},{"internalType":"int256[]","name":"_newInitialValues","type":"int256[]"},{"internalType":"uint256","name":"_numberOfAssets","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialisePoolRuleIntermediateValues"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"movingAverages","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"parameterDescriptions","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"int256[][]","name":"_parameters","type":"int256[][]"}],"stateMutability":"pure","type":"function","name":"validParameters","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CalculateNewWeights(int256[],int256[],address,int256[][],uint64[],uint64,uint64)":{"params":{"_absoluteWeightGuardRail":"the minimum weight a token can have","_data":"the latest data from the signal, usually price","_epsilonMax":"the maximum weights can change in a given update interval","_lambdaStore":"either vector or scalar lambda","_parameters":"the parameters of the rule that are not lambda","_pool":"the target pool address","_prevWeights":"the previous weights retrieved from the vault"}},"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":{"params":{"_newInitialValues":"the initial intermediate values to be saved","_newMovingAverages":"the initial moving averages to be saved","_numberOfAssets":"the number of assets in the pool","_poolAddress":"address of pool being initialised"}},"validParameters(int256[][])":{"details":"If parameters are not valid, either reverts or returns false"}},"version":1},"userdoc":{"kind":"user","methods":{"initialisePoolRuleIntermediateValues(address,int256[],int256[],uint256)":{"notice":"top level initialisation function to be called during pool registration"},"validParameters(int256[][])":{"notice":"Check if the given parameters are valid for the rule"}},"version":1}},"settings":{"remappings":["@balancer-labs/=../../node_modules/@balancer-labs/","@chainlink/=../../node_modules/@chainlink/","@openzeppelin/=../../node_modules/@openzeppelin/","@prb/=../../node_modules/@prb/","@violetprotocol/=../../node_modules/@violetprotocol/","ds-test/=../../node_modules/forge-std/lib/ds-test/src/","forge-gas-snapshot/=../../node_modules/forge-gas-snapshot/src/","forge-std/=../../node_modules/forge-std/src/","permit2/=../../node_modules/permit2/","pool-quantamm/=../pool-quantamm/","solidity-utils/=../solidity-utils/","vault/=../vault/"],"optimizer":{"enabled":true,"runs":999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/rules/AntimomentumUpdateRule.sol":"AntiMomentumUpdateRule"},"evmVersion":"cancun","libraries":{}},"sources":{"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol":{"keccak256":"0xe308e71a6fe265c80728343e40ad01765d28c757a17026c69996515e6982a374","urls":["bzz-raw://d101c55358794adbabc2a4ec94c1b96aab1266d8293e68138f8eb3f322cdd414","dweb:/ipfs/Qmf8qbzfmrjwqSDzvHemQzzB7Hi4kbBzo689TKmmR5uj7r"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateRule.sol":{"keccak256":"0x5d6478a2d8a1a2a9d42ebcb7cc95f86e89e7317c9e7d442e2d9beab888832da1","urls":["bzz-raw://08b6f986dbf1c33530b0fc0b1cab6ccb291b4881d2b3ef8ce4b99bf07c321c05","dweb:/ipfs/QmY2UsSJtoxzyyeW2NnBvLQrV9M49UJS7WpReCFANvmLXt"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/IUpdateWeightRunner.sol":{"keccak256":"0xad16d2378a21df939cdf9581b31ee42f6b4ccf070f77ece1f459f712e6dee79b","urls":["bzz-raw://5d3b66a70b74395f280ce2afe72c20387c27da903267176691073034bc32f0cf","dweb:/ipfs/QmV8Db1sBATHRwexhXdkphjubcK2NbHExWHLrPx9z4yAVH"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol":{"keccak256":"0xa549c088c1218bb94eec8f55133ed629c077e01f45d3acc704cc48116f2e426f","urls":["bzz-raw://b19be96ff06bfe5bcc155ac196e16f8d56595bcde3659daf9b5b76ec9cdef6aa","dweb:/ipfs/QmX5eSyKpC1nLBemzFTzofE935hXwgtYPuY9Zhar2fQ7Fx"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-utils/IPoolInfo.sol":{"keccak256":"0xa7adbaf80bc9cfa44e41776f632b5d7cb2c02c562a124c0e4cb17f06c4a54db3","urls":["bzz-raw://e4fdf59a7f3dc3b7d6bb6f466e4a0a6263b66c0fc12492baf06ec8c6fdcc2398","dweb:/ipfs/QmWxLpicLjGdgGQ8GjuN9YfDyVapYWwzdgET86ucs9hmFa"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/pool-weighted/IWeightedPool.sol":{"keccak256":"0x4dbf765d0fba4be1552aa5309aadee71929f74a84818cd453bb23f873ca91bd7","urls":["bzz-raw://65c241e3f125e87cea6cad51b075c6d821ba89e45756d8a57590a1f0c6b0d409","dweb:/ipfs/Qmdhs7Fri1yfaRN4S5mPbr76ytv4EhxDntWeYw6mspw1Xq"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IAuthentication.sol":{"keccak256":"0xa383f78ec04a4ebadbf64ce0fcef8c14f2487f02330acf2fbab80055c54a5d74","urls":["bzz-raw://077fdb9728fd22008ca58ca9f63cc7ea1b86f9cec778c5ff8943d9322b812f06","dweb:/ipfs/QmVCYYCeuUZK1GqAHzTZBo59cjjh9iQhNYWQvAy2AYAVoN"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IPoolVersion.sol":{"keccak256":"0xb97e44d4ebd74212195ebf10dc94cd46929e4c3dd217215945d164f02426891f","urls":["bzz-raw://cdc1656abb0e6c82640d17e2752684cce674cdd54665e01491c2b3ccb74c5d8f","dweb:/ipfs/QmfFr81CMmBJa27uHe4aquqHmU2nXCTpXST1shNq6ik8PA"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IRateProvider.sol":{"keccak256":"0x3a9a626d90cdf64042441895ce981bf570d9aa56e7c188b34f8603b1d629aae3","urls":["bzz-raw://0ac7096c0d5cd5e0c20dcc6681d24eb04ad7e14cbb61d0ebf136f96a2b9752c4","dweb:/ipfs/QmWryZQqLxpxaCBwK6uEfSLKWKsGBsDL7xbdGqFMkW4Uxp"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/solidity-utils/helpers/IVersion.sol":{"keccak256":"0x8993f223a501fbbe7c1a2f589a12961ea2fab1919dbc02a1eede973692d24e6e","urls":["bzz-raw://acce7ad2eab8b257f65aa7e20b7814c71787c08d80e02335ccc7b04818ffcdc7","dweb:/ipfs/QmQtDc6mwAijhvXLK5mbNfZ1JyQX7Q4nRsry5qDbcPpQVi"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IAuthorizer.sol":{"keccak256":"0x288b9590b9fb743964d46f610c2b0d4eee8457bfe52b890e31be5e11661759e3","urls":["bzz-raw://11373e74f2bb6112ae47b709e0161c09b3a2e1a7659bd15fa4ab4bcf8eadcab0","dweb:/ipfs/QmfELyCgCckJz6hPwCw9thNA5kvaoUcCw7gcoxRgWrjMg1"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePool.sol":{"keccak256":"0x9a1d76aae6ede8baa23b2472faf991337fc0787f8a7b6e0573241060dd485a53","urls":["bzz-raw://32ef0841804401494ddb68a85c7e9e97c4c0e26899a1d61c6ec9841cb5fcb800","dweb:/ipfs/QmT3VTZRCJ8jFvq9VYZZHbSyuVbSnPAx8p6XEiZYppMrYQ"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IBasePoolFactory.sol":{"keccak256":"0x6f8c558b0520faae0c4576f30225b5a97821a4cd210878a0ba10c102a2f753f3","urls":["bzz-raw://b40aa7a5ee39fa2e297c684fd29ad45d866f1fc61cd997120a417b02a4d908aa","dweb:/ipfs/QmYP5pQAF7SDLgy3aerqfnc4VwdmfQix2jcQUNL3o83BY9"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol":{"keccak256":"0x51fabcdeaefc15a895a04c457968a7fc0ce4f4647d42a91d07a863170d812c28","urls":["bzz-raw://85822ed25a050521ec4b1af2e21d48e2b85cf48828cb9be5d7e5eb104d4ade6a","dweb:/ipfs/QmU4QSNMfQCEacdgQizCxgNUzfnKxdmyqAndNJgLsCQ32t"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IProtocolFeeController.sol":{"keccak256":"0x743734d3d3503d705f0a778c4b0dd61fdb067e89a07481ddbead0654e6808318","urls":["bzz-raw://6198f27b2d01f346fdd3d1302e9a6ddd543d2f06afd675d84919c2242bd26d8d","dweb:/ipfs/QmYntQih5MwxxdGnVu2BPVLeqFuJEH761cByAesjwE6JKT"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/ISwapFeePercentageBounds.sol":{"keccak256":"0x5a08573f4b3cacd398cbbc119d407a176cb64b7ee522386f4f79300b2851d92d","urls":["bzz-raw://e2ff398fdc481caf40135abd58e71adc7aeacb8a79f461998fac207f59fcca33","dweb:/ipfs/QmNczb9gmy4V3Kk9UjthyA6CpcntTWPbYvDu8aVtU1SW9k"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IUnbalancedLiquidityInvariantRatioBounds.sol":{"keccak256":"0xf41d8d01826abce1dc8a81f6d75663b853c718f028ce3c36d79dd3d833e7af2e","urls":["bzz-raw://4677f0f2d6f9caed2acb70a172cf75819b4d3124258ab9b1aabf0c153381d7d8","dweb:/ipfs/QmP8dzBjKzotSv8zEF4HeFZyECiBQn37T4EmegEFgwgdwi"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVault.sol":{"keccak256":"0xf02dcb0b4fe9b71eb46fc66e327e166091d4e479fc3987c766859c94d505fe03","urls":["bzz-raw://de42ab0fa6f22010ac305d785e787a60fbb94c2d0ba17042a6e60bce33c5ed9f","dweb:/ipfs/QmVonnCCZVGzA3EERuQ4PbtpTTKrtgoXxYmtJ4CqaSmc4e"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol":{"keccak256":"0x9a651c10b5b352386341d65a37b63c95fbd0c4d401d4539730f3dfb4825acc18","urls":["bzz-raw://26e398b4fc37c80a86327b9cbe14335e5378fa69b3fb222c2dc8cf33707c30fd","dweb:/ipfs/QmY2E1b8DADLp3MStbVK93GACRJgJZxHYJpDrow1xzVhWB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol":{"keccak256":"0xb2c6deaa8701201af5d31ac270fbc30ebe6b66a1f9b6b12d1d17d807f7decb66","urls":["bzz-raw://28d6751bc7e7c7221745742cfe906387e0d806ea0a0041b9377fb5a537146063","dweb:/ipfs/QmcphjQ6ramZM6Qxv84jaJbtZ7d5FNFJ8xHWCHZwk7CdZ3"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultEvents.sol":{"keccak256":"0x0ff416b358949bb5d9553118f7cbfd42aa9aa33fa6bbe4bf470159df07cf6989","urls":["bzz-raw://f033bb516eb8d85554aea408a0a750bf6ccd5655035abd307cc8388a533f1c40","dweb:/ipfs/QmPCjG5jrXU4FrJWsputirF7JXZsNxhopetnHZTfRAFvMn"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol":{"keccak256":"0xa547348926764942de6030bf7d303684ff675a4a08fab3320f98154450ca5bb8","urls":["bzz-raw://6c440d5d23034e35803f135d9336f256ece717370adb93d1f2fb992fa5ffd869","dweb:/ipfs/QmbCaxRG3X9kUEbdrhRbm7JZZoK2nYp8FUXqh7Bn4wnFra"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/IVaultMain.sol":{"keccak256":"0x7df60e55516bf9cfa5156a03afc22e222fb87edf1bb9af48586ff0ff1be71e92","urls":["bzz-raw://baf5a2e16cdb139182df24e2d103f80c72b730be20a04b2486e751af16652ac9","dweb:/ipfs/Qmd6kdQmUFxPRJT1YrRJVVsUYAmpohBRvCM2qdXzVGcv5d"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol":{"keccak256":"0x670a4c7cdc970ed8cc82432894318558d67a530591617177603e0fea631addbc","urls":["bzz-raw://b240af11378ac8ce54000b7defbd63c3a78d34c8f2bd6061173e35326fb6a042","dweb:/ipfs/Qmf161h2SEXEQ2oahYcwCkxRC6QZocP2GsSjSJW2K57UzR"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-pool-utils/contracts/BasePoolFactory.sol":{"keccak256":"0xd92ad66da6036962f4b4ddd054a389ba65f1d64ed540c0c210bc42de3e44e435","urls":["bzz-raw://755bc7bbf7e16f272bcbfd5212dcd8e6371431973b17b96370839ca230a761db","dweb:/ipfs/QmaiYCXVqZriea8tbJFjJQbx1kSA5arRQhqyv1F9CMzCQo"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-pool-utils/contracts/PoolInfo.sol":{"keccak256":"0xa97e2a0fd95d78dcecf67fd8c554ced63bbd6da372b6f8b12f16ad526b6ec608","urls":["bzz-raw://d98ad2022f9e3653fd63daca8c0725c7ccbd4f63d0d27c413e90669ce7284a96","dweb:/ipfs/QmZ62RpJj3qSUrrdVD3H72qEszTUuvGkFLSBXAKMhBn5nX"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Authentication.sol":{"keccak256":"0x807237870f3aaa26cd815c5f600c1d0c60861a2f962fcc341d4b80942288ab52","urls":["bzz-raw://90f108409488d0c38147d2ac7b9facd694dbf1001c501136a249091788c22232","dweb:/ipfs/QmRCaCCGcuL4kxBEbrpq6FfENBJk4Zo8CNe8TRusatuYJ6"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/BaseSplitCodeFactory.sol":{"keccak256":"0x2520a18de2423ccd618a6ac00cbb4d97637856c5dd9fc68af5e95e2b42013adc","urls":["bzz-raw://e1d762d46a94a7028c19ebe688a152ed8ff9f55d76a5d347c080b7ddf5fe891e","dweb:/ipfs/QmPaR4HYhHkUGiL5SV4QyjvfmauEUwDVAAHa7wFAW2uviB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CastingHelpers.sol":{"keccak256":"0x8b468c356b40134c158695ad68193093444f1a7783966a03947d67c403c87635","urls":["bzz-raw://8d2696338f5f2f11663a2123cd5f7df1a2bfb434d49f93f2c0d1486e9d43d6f4","dweb:/ipfs/QmQihSe7BEvWh4s1EPnqSf5RKNL6fLqEBuMETn6nHouweW"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/CodeDeployer.sol":{"keccak256":"0x58297dc76e77a5427fe2a527d616e4bee048770fde8205ab8928b119925b1449","urls":["bzz-raw://5b24fd7b82652d7e53b5d06d834dedcc2ce0d972568c8bdf299c43defa7c9145","dweb:/ipfs/QmRfSzPyVNajcjjcLyvw2hSCMhUMu1SCCEsYCf8G4xPGM9"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/FactoryWidePauseWindow.sol":{"keccak256":"0x9594d2dc75aa8c92bb39d30cd76d3bfbb203fe17c4ae35b6f8d882ed4ac868d4","urls":["bzz-raw://1a43d706d34c9f071bed27372100fedaeb12ec4c5c3529e150c8684444c4a619","dweb:/ipfs/QmYUnJ2CtjJY2XktSzamExryTNbAYjesnymMpqTvQuXUka"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/InputHelpers.sol":{"keccak256":"0xe820b139c5ab3a4a26eda124b6c31f755f3203ba80a9b1b187a53e2699c444ab","urls":["bzz-raw://826e19b27c648604e06b5e68ce66ae6fecd3a0214738a7f67046103b12ab1148","dweb:/ipfs/QmZfz3iFQVDMxkyYcAqfh4BJ21FXvSE58Bo1B8snjC92Wf"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/helpers/Version.sol":{"keccak256":"0xca8d6e86dafe803f864c5230e4569938d3257fe1e29e2693d6b7822d207a231d","urls":["bzz-raw://390de97b518c8a3f0ef6c1a2d448cfa102de6f4777dfc8e14d700b8395730ae5","dweb:/ipfs/QmdmWZrdihBiuSCmwyFkdkXh9yQKNm56TEmtegUS2MPiFg"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol":{"keccak256":"0x84bcae7004be7e91a88e76a3ac317490bc6845754a12cee88fcab76b1c5de37b","urls":["bzz-raw://15f903480fec5ae8042baf458e2246693b0b4a22687e65c2ed3afdf6993bff82","dweb:/ipfs/QmcxsVeSbQ4qYnEZFoeFmiqaoV3rAx1oNhACCZCMZ1E6uf"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/LogExpMath.sol":{"keccak256":"0x70449e2b423b9850e39adddd7301205aa8b6e9e4ae788fd44d0968cac018eb2a","urls":["bzz-raw://ce2174a3629b45dca032f9cf53df35dea240626913b8882a9e2da21610b02796","dweb:/ipfs/Qmf8E4DePnZXjqb3V4A38gSobjgRK6VqavqPByuXvJxtBG"],"license":"MIT"},"../../node_modules/@balancer-labs/v3-solidity-utils/contracts/math/WeightedMath.sol":{"keccak256":"0xb31be209c69a6e60f4486b793bfc57b3ab7aa25efd29f40e981d5b9c95196f7b","urls":["bzz-raw://04a10cf9c7a408f0d617d8f25dedd1d4d8d0411ac022b26293b39fccfbf41c71","dweb:/ipfs/QmaExV5EYT4dtE9EAybKaraqXnbpM4usyAfFV5DHfatkof"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/BalancerPoolToken.sol":{"keccak256":"0x79f2ec4f7314bd1c3555368ff02bb9d382489dc8bbd7efbbf306f9a5084f3bec","urls":["bzz-raw://a57c155451c5b1c1c59a27770754ccd9ba1be9344db6ac45b8744eba5fa4fa2f","dweb:/ipfs/QmarkRwGaS3egg1FaQH6LibqjT6NocVUbD1jMPWtFxFaQV"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/SingletonAuthentication.sol":{"keccak256":"0x67518bf3b6bd96f5897c56867fc57f3c31bb9b97abf93cf960de145a5eb82414","urls":["bzz-raw://563857d8606cbd4f727c75f09901d09ec9faa73778fe85e2af851982cdb9b6e8","dweb:/ipfs/QmU7x1gWCPGPAcxA8Qq3z8hscrGRFwsc28qad4RMihZ8qB"],"license":"GPL-3.0-or-later"},"../../node_modules/@balancer-labs/v3-vault/contracts/VaultGuard.sol":{"keccak256":"0x678a36266505ecef51b514707c3050baaeb970644894f64eb0a442aa4ab013ec","urls":["bzz-raw://d1514c0d27ad60f5f2d863f08258d67d937ec5e7b003d9c9f60526509d72bbef","dweb:/ipfs/QmUVkCKFi1N8ZCzQ8VHD92eD1tzJciBowHmZ6fY8hEwNqF"],"license":"GPL-3.0-or-later"},"../../node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/access/Ownable2Step.sol":{"keccak256":"0x5d3e5de9eadfa1f8a892eb2e95bbebd3e4b8c8ada5b76f104d383fea518fa688","urls":["bzz-raw://cde108962511e6a4d3cfb7b6fb6a36bdcfa300761c17dad2d7dd87d4f8117b48","dweb:/ipfs/Qmf7YxUVK68JedWybWfXvzLCegsD95DtGc3mbpEWkWSMm8"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/interfaces/IERC4626.sol":{"keccak256":"0x207f64371bc0fcc5be86713aa5da109a870cc3a6da50e93b64ee881e369b593d","urls":["bzz-raw://548667cfa76683767c2c610b577f6c2f0675d0ce28f53c3f37b969c84a56b205","dweb:/ipfs/QmUzA1CKC6bDdULuS44wGd7PWBNLiHb6bh7oHwJBDZSLAx"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x6008dabfe393240d73d7dd7688033f72740d570aa422254d29a7dce8568f3aff","urls":["bzz-raw://f5196ec75139918c6c7bb4251b36395e668f1fa6d206beba7e7520e74913940d","dweb:/ipfs/QmSyqjksXxmm2mCG6qRd1yuwLykypkSVBbnBnGqJRcuJMi"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x37bb49513c49c87c4642a891b13b63571bc87013dde806617aa1efb54605f386","urls":["bzz-raw://b3036b3a83b7c48f96641f2a9002b9f2dcb6a5958dd670894ada21ae8229b3d0","dweb:/ipfs/QmUNfSBdoVtjhETaUJCYcaC7pTMgbhht926tJ2uXJbiVd3"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaf28a975a78550e45f65e559a3ad6a5ad43b9b8a37366999abd1b7084eb70721","urls":["bzz-raw://b7bd24e224f67f65bfadf85dc2929fa965456bb2415478bd0125471b5ce35245","dweb:/ipfs/QmRaydGr8BTHs1kvaZfsNU69pKzUAGFrvABn1KiRSbE51y"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x75a4ee64c68dbd5f38bddd06e664a64c8271b4caa554fb6f0607dfd672bb4bf3","urls":["bzz-raw://0c4e6cb30d3601e2f7af5af09e265508147cb275a8dcd99d6f7363645cc56867","dweb:/ipfs/QmNgFkoXNWoUbAyw71rr1sKQ95Rj2GfvYiWg79xEYDn2NY"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Create2.sol":{"keccak256":"0x2b9807d194b92f1068d868e9587d27037264a9a067c778486f86ae21c61cbd5e","urls":["bzz-raw://22d71f40aa38a20cf466d8647452a6e3f746353474f8c8af40f03aa8cae38420","dweb:/ipfs/QmQ752Hz5av7YDK8pFojzb5qgeXQvfsdkdwkHVzaXoYAZR"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0x18a7171df639a934592915a520ecb97c5bbc9675a1105607aac8a94e72bf62c6","urls":["bzz-raw://7478e1f13da69a2867ccd883001d836b75620362e743f196376d63ed0c422a1c","dweb:/ipfs/QmWywcQ9TNfwtoqAxbn25d8C5VrV12PrPS9UjtGe6pL2BA"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0x32ba59b4b7299237c8ba56319110989d7978a039faf754793064e967e5894418","urls":["bzz-raw://1ae50c8b562427df610cc4540c9bf104acca7ef8e2dcae567ae7e52272281e9c","dweb:/ipfs/QmTHiadFCSJUPpRjNegc5SahmeU8bAoY8i9Aq6tVscbcKR"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0xeed0a08b0b091f528356cbc7245891a4c748682d4f6a18055e8e6ca77d12a6cf","urls":["bzz-raw://ba80ba06c8e6be852847e4c5f4492cef801feb6558ae09ed705ff2e04ea8b13c","dweb:/ipfs/QmXRJDv3xHLVQCVXg1ZvR35QS9sij5y9NDWYzMfUfAdTHF"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x999f705a027ed6dc2d4e0df2cc4a509852c6bfd11de1c8161bf88832d0503fd0","urls":["bzz-raw://0798def67258d9a3cc20b2b4da7ebf351a5cefe0abfdd665d2d81f8e32f89b21","dweb:/ipfs/QmPEvJosnPfzHNjKvCv2D3891mA2Ww8eUwkqrxBjuYdHCt"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0xba333517a3add42cd35fe877656fc3dfcc9de53baa4f3aabbd6d12a92e4ea435","urls":["bzz-raw://2ceacff44c0fdc81e48e0e0b1db87a2076d3c1fb497341de077bf1da9f6b406c","dweb:/ipfs/QmRUo1muMRAewxrKQ7TkXUtknyRoR57AyEkoPpiuZQ8FzX"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"../../node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"../../node_modules/@prb/math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"},"../../node_modules/@prb/math/contracts/PRBMathSD59x18.sol":{"keccak256":"0x1886d687eace717c05b7dcc20e43a088df0e549df86b453c2222961b520308f0","urls":["bzz-raw://e62bb6764ac875e7e241a8621bbbd32ae7a4c98d681c250efc04fa467ec6da6e","dweb:/ipfs/QmWk5VQSTP3JiCNJ8NGF39nReD1hcCgTvAQH8RBPpXrDfH"],"license":"Unlicense"},"contracts/QuantAMMStorage.sol":{"keccak256":"0x218f93e9a4a0f16f974a51e2cf98c6d71c17aac1b0bea28bedd52f2b55263835","urls":["bzz-raw://df96dc698a021fe162edf492e684e711420460bb2f190b7f66a1cfeb632dbf3d","dweb:/ipfs/QmZaBezmJpqHW1ep1gjYCQXxGucXQ3WFVX3E7wDBpgFjWS"],"license":"MIT"},"contracts/QuantAMMWeightedPool.sol":{"keccak256":"0x3411f1acf276859a43594f17054169f6be280c47a483e0e8c8e33a5cb87a2696","urls":["bzz-raw://233952b0c6c0b07271c6b2fa69710f514cd40d2f2b9c6812d95ee86295566066","dweb:/ipfs/QmeZVyZHf1T5WZoT8ouNvzdxc7mSVLfRWtQL3sAerrEEBL"],"license":"GPL-3.0-or-later"},"contracts/QuantAMMWeightedPoolFactory.sol":{"keccak256":"0x360d5a6cee5dd7406a6fe3804ba6cf5c46b21ac654abc232b4bae519c6f1ec8c","urls":["bzz-raw://b60523863fc11e5277d9d7c5c80c50f9ba850ae7a3ba04a12cf88d1e6276210d","dweb:/ipfs/QmPSbmT1CVRQUTw9TSrXdw2yRHS2hqXrSxTDNFEeWYWgR5"],"license":"GPL-3.0-or-later"},"contracts/UpdateWeightRunner.sol":{"keccak256":"0x4bbabcf5093d23925890d6ffb03a761734b261edaa566c385f21ff3b9b49e1a0","urls":["bzz-raw://03580768c92e6cf9b7294c86a364adf82702bdc39702f612398bb7248d64e732","dweb:/ipfs/QmfJf2fbEXPgmVeYoQpscxzYPBBxZqnyPN7ZKZQRpCbyWo"],"license":"BUSL-1.1"},"contracts/rules/AntimomentumUpdateRule.sol":{"keccak256":"0xc9df25eb3f2e504664be2a50a5f73ae94de94e8087915858fd520d440fe988e4","urls":["bzz-raw://ba3bf7f3a8f46a75d7313c8908d58ad0d9f6caa4da1ea60e925dece07b3af3ab","dweb:/ipfs/QmXtK9b7X63ZdYrkS2mPRVdmSjg2rsacn38c5qV7MGsPCB"],"license":"BUSL-1.1"},"contracts/rules/UpdateRule.sol":{"keccak256":"0xaeda1a2e60490e95e5d18f5d02d8278cc34351c43ee366c01ac31a46f954a7e2","urls":["bzz-raw://60734d6d6394487040e286b5549f65dcb6873077bd6b5e9e027b1f7f5a674f0d","dweb:/ipfs/QmNTva4j9uVM46494cafEEacQdFXCzSftF52F9VyTWb1st"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammBasedRuleHelpers.sol":{"keccak256":"0x95f9dba8f8fef11062ee275681e01743acf8dfc1bd7f00fea72a6b62de429efc","urls":["bzz-raw://ffe743dd2849618a7e9bb37bf33fe65bde7e056e4eeb36a11bd64e4bdc7077e6","dweb:/ipfs/QmXanhX14c2Wd1UxNgqp6UBbmHpiKp3qjgdVx8P3RwAT3g"],"license":"MIT"},"contracts/rules/base/QuantammGradientBasedRule.sol":{"keccak256":"0xf29cb196d2d396bb2988d2b8666ad1ded73d28ac358dafc0b5b626eaa6742e62","urls":["bzz-raw://f4d40f199e6a17c68c01827a2138993d1f21dac93c98c5d244da1d24670325a5","dweb:/ipfs/QmQH9KJdbYHEmiNbTSeaazFvSZY18UHHHsFerh82v8e5Zj"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammMathGuard.sol":{"keccak256":"0x388fa467c5f42712aca8b4e15befb0fabe626416ace1f0f5bec2cfd2cf2bcb47","urls":["bzz-raw://9674246a3b2795e5979a35ab042ec9ea39092ff5d7c4d7f5491cc5fb34d19bfd","dweb:/ipfs/QmX9twBcRntFgCJFPXJgu5oenbg4CgTjovqjY9Rt7us1Gm"],"license":"BUSL-1.1"},"contracts/rules/base/QuantammMathMovingAverage.sol":{"keccak256":"0x9a532f6bcd93817a1a8576a70c90f9381e92aaf82bd1bef9d297589ca86eaa5b","urls":["bzz-raw://092cdd190026894fe5113e1c9cfff78b30f68daa49caffcc79c9fbc92b09601b","dweb:/ipfs/Qmcb8XcZVe3UZAVoZ75UVh2d1jAmVk3yZpHu8zB6A1V2Gz"],"license":"BUSL-1.1"}},"version":1},"id":451} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json deleted file mode 100644 index ddcbd529..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deployment_logs/deploy-run-latest.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x28", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", - "nonce": "0x29", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x30", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x31", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x32", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x7e0e5b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionIndex": "0x61", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb8ebdb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionIndex": "0x62", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf293b4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionIndex": "0x63", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12bfdb0", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionIndex": "0x64", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3969fc", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x158100b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionIndex": "0x65", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2c125b", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19f4c11", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionIndex": "0x66", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x473c06", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1cd74fb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionIndex": "0x67", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2e28ea", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x20a83d4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionIndex": "0x68", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3d0ed9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1f9464b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionIndex": "0x6a", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x917595", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1fda6c4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionIndex": "0x6b", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x202073d", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionIndex": "0x6c", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741297063, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json b/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json deleted file mode 100644 index 3db3aaa1..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deployment_logs/deplyo-antimomentum-run-latest.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x3e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", - "nonce": "0x3f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", - "function": null, - "arguments": [ - "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", - "nonce": "0x40", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x129e003", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionIndex": "0xa2", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x164bd83", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionIndex": "0xa3", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19e655c", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionIndex": "0xa4", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741774592, - "chain": 11155111, - "commit": "d423799" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt b/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt deleted file mode 100644 index 3242eee3..00000000 --- a/pkg/pool-quantamm/contracts/deployment/deployment_logs/verify.txt +++ /dev/null @@ -1,9 +0,0 @@ -forge verify-contract --constructor-args 0x000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b --etherscan-api-key [] --chain 1 -1155111 0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D contracts/rules/AntimomentumUpdateRule.sol:AntimomentumUpdateRule -Start verifying contract `0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D` deployed on sepolia - -Submitting verification for [contracts/rules/AntimomentumUpdateRule.sol:AntimomentumUpdateRule] 0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D. -Submitted contract for verification: - Response: `OK` - GUID: `rmcimnmy6gdgs17rlvfsehnfdyqbhv82jwvedgcbfrpkxsilda` - URL: https://sepolia.etherscan.io/address/0xb3f69cd223252f29f47f8adf9059b9acba3ebd6d \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/pool_check.sol rename to pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol diff --git a/pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/initialise_intermediate_values.sol rename to pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol diff --git a/pkg/pool-quantamm/contracts/deployment/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/initialise_pool.sol rename to pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol diff --git a/pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/initialise_rule_runner.sol rename to pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol diff --git a/pkg/pool-quantamm/contracts/deployment/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol similarity index 100% rename from pkg/pool-quantamm/contracts/deployment/perform_update.sol rename to pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol diff --git a/pkg/pool-quantamm/contracts/deployment/verify_test.sol b/pkg/pool-quantamm/contracts/deployment/verify_test.sol deleted file mode 100644 index 12f295e1..00000000 --- a/pkg/pool-quantamm/contracts/deployment/verify_test.sol +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity 0.8.26; - -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; -import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; - - -contract Deploy is Script { - function run() external { - uint256 deployerPrivateKey; - - bytes memory constructorArgs = abi.encode( - address(0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B) - ); - - console.logBytes(constructorArgs); - - vm.stopBroadcast(); - } -} \ No newline at end of file From 0c59961e8af6245ae2be8153cbf0290705de9dff Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 9 Apr 2025 19:28:07 +0100 Subject: [PATCH 15/64] fixes to imports --- .../11155111/run-1744223128.json | 96 +++++++++++++++++++ .../11155111/run-latest.json | 64 ++++++------- .../admin-scripts/approve_oracle.sol | 18 ++-- .../admin-scripts/approve_pool_for_use.sol | 18 ++-- .../deployment/diagnostics/pool_check.sol | 18 ++-- .../initialise_intermediate_values.sol | 18 ++-- .../pool-initialisation/initialise_pool.sol | 18 ++-- .../initialise_rule_runner.sol | 18 ++-- .../pool-running/perform_update.sol | 18 ++-- 9 files changed, 191 insertions(+), 95 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json new file mode 100644 index 00000000..ef75df62 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "performUpdate(address)", + "arguments": [ + "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0x45f2d", + "value": "0x0", + "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "nonce": "0x190", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x5c0f19", + "logs": [ + { + "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x6f", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x70", + "removed": false + }, + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + ], + "data": "0x", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x71", + "removed": false + } + ], + "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "gasUsed": "0x32a44", + "effectiveGasPrice": "0x3bcd2f", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744223128, + "chain": 11155111, + "commit": "b7dba5d" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json index 78f7e7af..ef75df62 100644 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", + "hash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", @@ -12,10 +12,10 @@ "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x4b0d0", + "gas": "0x45f2d", "value": "0x0", "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "nonce": "0x18f", + "nonce": "0x190", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -25,7 +25,7 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xc07e9e", + "cumulativeGasUsed": "0x5c0f19", "logs": [ { "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", @@ -33,13 +33,13 @@ "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb1", + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x6f", "removed": false }, { @@ -48,13 +48,13 @@ "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb2", + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x70", "removed": false }, { @@ -65,23 +65,23 @@ "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" ], "data": "0x", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb3", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "blockTimestamp": "0x67f6bb94", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "logIndex": "0x71", "removed": false } ], "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", "type": "0x2", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "gasUsed": "0x33512", - "effectiveGasPrice": "0x231c2c90", + "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "transactionIndex": "0x4e", + "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", + "blockNumber": "0x7b60b3", + "gasUsed": "0x32a44", + "effectiveGasPrice": "0x3bcd2f", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", "contractAddress": null @@ -90,7 +90,7 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744026823, + "timestamp": 1744223128, "chain": 11155111, - "commit": "10e16f9" + "commit": "b7dba5d" } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol index 0037f9af..89637afd 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol @@ -2,15 +2,15 @@ pragma solidity 0.8.26; import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol index b3f1c406..b39223b0 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 5bb16022..54e99bf7 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import { Script } from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol index 9d47948e..63d4e790 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index 7f19ec07..2c06f989 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol index 4f9fb61c..cc36a432 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol index b6ab8cb3..827c86af 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol @@ -3,15 +3,15 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import {Script} from "forge-std/Script.sol"; -import "../rules/AntimomentumUpdateRule.sol"; -import "../rules/MomentumUpdateRule.sol"; -import "../rules/DifferenceMomentumUpdateRule.sol"; -import "../rules/ChannelFollowingUpdateRule.sol"; -import "../rules/MinimumVarianceUpdateRule.sol"; -import "../rules/PowerChannelUpdateRule.sol"; -import "../UpdateWeightRunner.sol"; -import "../QuantAMMWeightedPoolFactory.sol"; -import "../ChainlinkOracle.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; From 0893df61c4975e035cd85eec9c124d294cbeca56 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 11 Apr 2025 09:45:15 +0100 Subject: [PATCH 16/64] new test net push --- .../11155111/run-1744360479.json | 67 +++ .../11155111/run-1744360557.json | 67 +++ .../11155111/run-latest.json | 52 +- .../11155111/run-1744360588.json | 69 +++ .../11155111/run-latest.json | 48 +- .../11155111/run-1744360360.json | 443 ++++++++++++++++++ .../11155111/run-latest.json | 282 +++++------ .../11155111/run-1744360660.json | 65 +++ .../11155111/run-latest.json | 48 +- .../11155111/run-1744360743.json | 124 +++++ .../11155111/run-latest.json | 116 +++-- .../admin-scripts/approve_pool_for_use.sol | 2 +- .../deployment/diagnostics/pool_check.sol | 10 +- .../initialise_intermediate_values.sol | 4 +- .../pool-initialisation/initialise_pool.sol | 2 +- .../initialise_rule_runner.sol | 2 +- .../pool-running/perform_update.sol | 4 +- 17 files changed, 1135 insertions(+), 270 deletions(-) create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json create mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json create mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json create mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json new file mode 100644 index 00000000..0832fa72 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "gas": "0xfa38", + "value": "0x0", + "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x1b2", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xf8378a", + "logs": [ + { + "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0x53bd86fe91e790e878ea19a35e48916c9eda34df352a59be4632d8a39ebca62b", + "blockNumber": "0x7b89c9", + "blockTimestamp": "0x67f8d41c", + "transactionHash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", + "transactionIndex": "0xf6", + "logIndex": "0x8e", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", + "transactionIndex": "0xf6", + "blockHash": "0x53bd86fe91e790e878ea19a35e48916c9eda34df352a59be4632d8a39ebca62b", + "blockNumber": "0x7b89c9", + "gasUsed": "0xb528", + "effectiveGasPrice": "0x1cadd3", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360479, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json new file mode 100644 index 00000000..9a4795e1 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "function": "setApprovedActionsForPool(address,uint256)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "19" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0xfa56", + "value": "0x0", + "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x1b3", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd17280", + "logs": [ + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000013", + "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", + "blockNumber": "0x7b89cf", + "blockTimestamp": "0x67f8d464", + "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", + "transactionIndex": "0x52", + "logIndex": "0x86", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", + "transactionIndex": "0x52", + "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", + "blockNumber": "0x7b89cf", + "gasUsed": "0xb53e", + "effectiveGasPrice": "0x1b398c", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360557, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json index 40af77b5..9a4795e1 100644 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json @@ -1,22 +1,22 @@ { "transactions": [ { - "hash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", + "hash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", "transactionType": "CALL", "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "function": "setApprovedActionsForPool(address,uint256)", "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "19" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xfa38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0xfa56", "value": "0x0", - "input": "0xaebdc7f30000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c30000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x18c", + "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", + "nonce": "0x1b3", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -26,42 +26,42 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xf0e67e", + "cumulativeGasUsed": "0xd17280", "logs": [ { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "topics": [ "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", - "blockNumber": "0x7b230f", - "blockTimestamp": "0x67f3bb4c", - "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", - "transactionIndex": "0x62", - "logIndex": "0x90", + "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", + "blockNumber": "0x7b89cf", + "blockTimestamp": "0x67f8d464", + "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", + "transactionIndex": "0x52", + "logIndex": "0x86", "removed": false } ], - "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", - "transactionIndex": "0x62", - "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", - "blockNumber": "0x7b230f", - "gasUsed": "0xb528", - "effectiveGasPrice": "0x2a767d85", + "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", + "transactionIndex": "0x52", + "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", + "blockNumber": "0x7b89cf", + "gasUsed": "0xb53e", + "effectiveGasPrice": "0x1b398c", "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744026448, + "timestamp": 1744360557, "chain": 11155111, - "commit": "10e16f9" + "commit": "c05839a" } \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json new file mode 100644 index 00000000..0e555dc6 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "[1000000000000000000, 1000000000000000000]", + "[1000000000000000000, 1000000000000000000]", + "2" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0x1121e", + "value": "0x0", + "input": "0xd4ead0b2000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x1b4", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xe17143", + "logs": [ + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", + "blockNumber": "0x7b89d2", + "blockTimestamp": "0x67f8d488", + "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", + "transactionIndex": "0x67", + "logIndex": "0xc5", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", + "transactionIndex": "0x67", + "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", + "blockNumber": "0x7b89d2", + "gasUsed": "0xc675", + "effectiveGasPrice": "0x1a8b5a", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360588, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json index e0b69c66..0e555dc6 100644 --- a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json @@ -1,24 +1,24 @@ { "transactions": [ { - "hash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", + "hash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", "transactionType": "CALL", "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "[1000000000000000000, 1000000000000000000]", "[1000000000000000000, 1000000000000000000]", "2" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "gas": "0x1121e", "value": "0x0", - "input": "0xd4ead0b20000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "nonce": "0x18e", + "input": "0xd4ead0b2000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x1b4", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -28,42 +28,42 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xa41f06", + "cumulativeGasUsed": "0xe17143", "logs": [ { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "topics": [ "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", - "blockNumber": "0x7b231b", - "blockTimestamp": "0x67f3bbdc", - "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", - "transactionIndex": "0x62", - "logIndex": "0xb4", + "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", + "blockNumber": "0x7b89d2", + "blockTimestamp": "0x67f8d488", + "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", + "transactionIndex": "0x67", + "logIndex": "0xc5", "removed": false } ], - "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080800000000000000804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", - "transactionIndex": "0x62", - "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", - "blockNumber": "0x7b231b", + "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", + "transactionIndex": "0x67", + "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", + "blockNumber": "0x7b89d2", "gasUsed": "0xc675", - "effectiveGasPrice": "0x23344d82", + "effectiveGasPrice": "0x1a8b5a", "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744026594, + "timestamp": 1744360588, "chain": 11155111, - "commit": "10e16f9" + "commit": "c05839a" } \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json new file mode 100644 index 00000000..883adcfb --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json @@ -0,0 +1,443 @@ +{ + "transactions": [ + { + "hash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x1ad", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "function": "approve(address,uint256)", + "arguments": [ + "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "gas": "0xa7f9", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x1ae", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x29f2D40B0605204364af54EC677bD022dA425d03", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744446744" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "nonce": "0x1af", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "function": "approve(address,address,uint160,uint48)", + "arguments": [ + "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "0x0BF61f706105EA44694f2e92986bD01C39930280", + "1461501637330902918203684832716283019655932542975", + "1744446744" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "gas": "0xa59b", + "value": "0x0", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "nonce": "0x1b0", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", + "[10000000, 10000000]", + "0", + "true", + "0x" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "gas": "0x63087", + "value": "0x0", + "input": "0x026b3d95000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1b1", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x111b47e", + "logs": [ + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", + "transactionIndex": "0x54", + "logIndex": "0x7a", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", + "transactionIndex": "0x54", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x1ef102", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12136c3", + "logs": [ + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", + "transactionIndex": "0x5f", + "logIndex": "0x81", + "removed": false + } + ], + "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", + "transactionIndex": "0x5f", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "gasUsed": "0x72db", + "effectiveGasPrice": "0x1ef102", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x121aea9", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", + "transactionIndex": "0x60", + "logIndex": "0x82", + "removed": false + } + ], + "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", + "transactionIndex": "0x60", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1ef102", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x122268f", + "logs": [ + { + "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "topics": [ + "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", + "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" + ], + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", + "transactionIndex": "0x61", + "logIndex": "0x83", + "removed": false + } + ], + "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", + "type": "0x2", + "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", + "transactionIndex": "0x61", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "gasUsed": "0x77e6", + "effectiveGasPrice": "0x1ef102", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x126a1bb", + "logs": [ + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x84", + "removed": false + }, + { + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x85", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x86", + "removed": false + }, + { + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x87", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x88", + "removed": false + }, + { + "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", + "topics": [ + "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x89", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8a", + "removed": false + }, + { + "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8b", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000989680", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8c", + "removed": false + }, + { + "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8d", + "removed": false + } + ], + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000004000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000050000000000020000c00180000020044000000000000000000000000000000200000000000000000002000000000000000100000000000000200000000000000000800060000010000000000000002000010100000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "gasUsed": "0x47b2c", + "effectiveGasPrice": "0x1ef102", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360360, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json index 0a02172a..883adcfb 100644 --- a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", + "hash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", "transactionType": "CALL", "contractName": null, "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", @@ -16,14 +16,14 @@ "gas": "0xa7f9", "value": "0x0", "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x187", + "nonce": "0x1ad", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", + "hash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", @@ -38,14 +38,14 @@ "gas": "0xa7f9", "value": "0x0", "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x188", + "nonce": "0x1ae", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", + "hash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", "transactionType": "CALL", "contractName": null, "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -54,22 +54,22 @@ "0x29f2D40B0605204364af54EC677bD022dA425d03", "0x0BF61f706105EA44694f2e92986bD01C39930280", "1461501637330902918203684832716283019655932542975", - "1744112748" + "1744446744" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "gas": "0xa59b", "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "nonce": "0x189", + "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "nonce": "0x1af", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", + "hash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -78,28 +78,28 @@ "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", "0x0BF61f706105EA44694f2e92986bD01C39930280", "1461501637330902918203684832716283019655932542975", - "1744112748" + "1744446744" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "gas": "0xa59b", "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "nonce": "0x18a", + "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "nonce": "0x1b0", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", + "hash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", "[10000000, 10000000]", "0", @@ -111,8 +111,8 @@ "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", "gas": "0x63087", "value": "0x0", - "input": "0x026b3d950000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x18b", + "input": "0x026b3d95000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x1b1", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -122,7 +122,7 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xb9392c", + "cumulativeGasUsed": "0x111b47e", "logs": [ { "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", @@ -132,30 +132,30 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", - "transactionIndex": "0x69", - "logIndex": "0xbc", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", + "transactionIndex": "0x54", + "logIndex": "0x7a", "removed": false } ], "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", - "transactionIndex": "0x69", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", + "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", + "transactionIndex": "0x54", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", "gasUsed": "0x72db", - "effectiveGasPrice": "0x29369fc7", + "effectiveGasPrice": "0x1ef102", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xb9ac07", + "cumulativeGasUsed": "0x12136c3", "logs": [ { "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", @@ -165,30 +165,30 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", - "transactionIndex": "0x6a", - "logIndex": "0xbd", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", + "transactionIndex": "0x5f", + "logIndex": "0x81", "removed": false } ], "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", - "transactionIndex": "0x6a", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", + "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", + "transactionIndex": "0x5f", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", "gasUsed": "0x72db", - "effectiveGasPrice": "0x29369fc7", + "effectiveGasPrice": "0x1ef102", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xba23ed", + "cumulativeGasUsed": "0x121aea9", "logs": [ { "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -198,31 +198,31 @@ "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", - "transactionIndex": "0x6b", - "logIndex": "0xbe", + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", + "transactionIndex": "0x60", + "logIndex": "0x82", "removed": false } ], "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", "type": "0x2", - "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", - "transactionIndex": "0x6b", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", + "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", + "transactionIndex": "0x60", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", "gasUsed": "0x77e6", - "effectiveGasPrice": "0x29369fc7", + "effectiveGasPrice": "0x1ef102", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xba9bd3", + "cumulativeGasUsed": "0x122268f", "logs": [ { "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", @@ -232,128 +232,128 @@ "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", - "transactionIndex": "0x6c", - "logIndex": "0xbf", + "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", + "transactionIndex": "0x61", + "logIndex": "0x83", "removed": false } ], "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", "type": "0x2", - "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", - "transactionIndex": "0x6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", + "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", + "transactionIndex": "0x61", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", "gasUsed": "0x77e6", - "effectiveGasPrice": "0x29369fc7", + "effectiveGasPrice": "0x1ef102", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", "contractAddress": null }, { "status": "0x1", - "cumulativeGasUsed": "0xbf16ff", + "cumulativeGasUsed": "0x126a1bb", "logs": [ { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc0", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x84", "removed": false }, { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc1", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x85", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" ], "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc2", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x86", "removed": false }, { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" ], "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc3", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x87", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc4", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x88", "removed": false }, { "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", "topics": [ "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], "data": "0x", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc5", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x89", "removed": false }, { @@ -364,12 +364,12 @@ "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc6", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8a", "removed": false }, { @@ -380,12 +380,12 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc7", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8b", "removed": false }, { @@ -396,12 +396,12 @@ "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc8", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8c", "removed": false }, { @@ -412,23 +412,23 @@ "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc9", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", + "blockTimestamp": "0x67f8d3a4", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "logIndex": "0x8d", "removed": false } ], - "logsBloom": "0x00000000000080010040000000000000000280000000400000004000002000000000000000000000000000000000000000080000800000000000000000240000802000000000000000004008004000000000000000040800000008020000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000044000000000800000000000000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", + "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000004000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000050000000000020000c00180000020044000000000000000000000000000000200000000000000000002000000000000000100000000000000200000000000000000800060000010000000000000002000010100000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", + "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", + "transactionIndex": "0x62", + "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", + "blockNumber": "0x7b89c0", "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x29369fc7", + "effectiveGasPrice": "0x1ef102", "from": "0x12395366299C28492682f7853424554df0b81B38", "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", "contractAddress": null @@ -437,7 +437,7 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744026377, + "timestamp": 1744360360, "chain": 11155111, - "commit": "10e16f9" + "commit": "c05839a" } \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json new file mode 100644 index 00000000..11145ca7 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "function": "InitialisePoolLastRunTime(address,uint40)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "10" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0xa7e2", + "value": "0x0", + "input": "0xce768b32000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x1b5", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb310e2", + "logs": [ + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" + ], + "data": "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", + "blockNumber": "0x7b89d7", + "blockTimestamp": "0x67f8d4d0", + "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", + "transactionIndex": "0x36", + "logIndex": "0x71", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", + "transactionIndex": "0x36", + "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", + "blockNumber": "0x7b89d7", + "gasUsed": "0x798c", + "effectiveGasPrice": "0x1e8262", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360660, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json index b6c56480..11145ca7 100644 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json @@ -1,22 +1,22 @@ { "transactions": [ { - "hash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", + "hash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", "transactionType": "CALL", "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "function": "InitialisePoolLastRunTime(address,uint40)", "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "10" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "gas": "0xa7e2", "value": "0x0", - "input": "0xce768b320000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x18d", + "input": "0xce768b32000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", + "nonce": "0x1b5", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -26,40 +26,40 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xb34f2d", + "cumulativeGasUsed": "0xb310e2", "logs": [ { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "topics": [ "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" ], - "data": "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", - "blockNumber": "0x7b2316", - "blockTimestamp": "0x67f3bba0", - "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", - "transactionIndex": "0x6d", - "logIndex": "0xa6", + "data": "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", + "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", + "blockNumber": "0x7b89d7", + "blockTimestamp": "0x67f8d4d0", + "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", + "transactionIndex": "0x36", + "logIndex": "0x71", "removed": false } ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", - "transactionIndex": "0x6d", - "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", - "blockNumber": "0x7b2316", + "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", + "transactionIndex": "0x36", + "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", + "blockNumber": "0x7b89d7", "gasUsed": "0x798c", - "effectiveGasPrice": "0x264d196e", + "effectiveGasPrice": "0x1e8262", "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744026530, + "timestamp": 1744360660, "chain": 11155111, - "commit": "10e16f9" + "commit": "c05839a" } \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json new file mode 100644 index 00000000..2a1e20a3 --- /dev/null +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "function": "performUpdate(address)", + "arguments": [ + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087" + ], + "transaction": { + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0x49fd6", + "value": "0x0", + "input": "0xe3a11da1000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", + "nonce": "0x1b6", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb05a7d", + "logs": [ + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x452f52f0db8d7f3d0a990eb92702205b19289ad1fc09d7542deffe548a40145c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de092526d99800000000000000000000000000000000000000000000000114d8b5f620c9e62b00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x79", + "removed": false + }, + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x1c48aef39d279f5cc5d4af80b5b8c5624649207ff7ef411514470938d4cb44fc" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000713e24c4373000000000000000000000000000000000000000000000000000006ccd46763f10000", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7a", + "removed": false + }, + { + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", + "topics": [ + "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7b", + "removed": false + }, + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7c", + "removed": false + }, + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", + "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" + ], + "data": "0x", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7d", + "removed": false + } + ], + "logsBloom": "0x00000400000000010000008000000000000000000000000000000000000000000008000000000000000000000000000004000000000400000000000000000000000000000000004040000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000100000000040000000000000000000000000000200040000000000000201000000040800000000000000000000000020000000000000000000000000080000000200000000000000000000800000000000000100000000000000020000000100000000000000000000000000000000000000010000000000000000000080000000000000000000", + "type": "0x2", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "gasUsed": "0x35914", + "effectiveGasPrice": "0x21b48b", + "from": "0x12395366299C28492682f7853424554df0b81B38", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1744360743, + "chain": 11155111, + "commit": "c05839a" +} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json index ef75df62..2a1e20a3 100644 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json +++ b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json @@ -1,21 +1,21 @@ { "transactions": [ { - "hash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", + "hash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", "transactionType": "CALL", "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "function": "performUpdate(address)", "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" + "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087" ], "transaction": { "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x45f2d", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "gas": "0x49fd6", "value": "0x0", - "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "nonce": "0x190", + "input": "0xe3a11da1000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", + "nonce": "0x1b6", "chainId": "0xaa36a7" }, "additionalContracts": [], @@ -25,72 +25,100 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x5c0f19", + "cumulativeGasUsed": "0xb05a7d", "logs": [ { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x452f52f0db8d7f3d0a990eb92702205b19289ad1fc09d7542deffe548a40145c" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de092526d99800000000000000000000000000000000000000000000000114d8b5f620c9e62b00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x79", + "removed": false + }, + { + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", + "topics": [ + "0x1c48aef39d279f5cc5d4af80b5b8c5624649207ff7ef411514470938d4cb44fc" + ], + "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000713e24c4373000000000000000000000000000000000000000000000000000006ccd46763f10000", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7a", + "removed": false + }, + { + "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", "topics": [ "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x6f", + "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7b", "removed": false }, { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "topics": [ "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x70", + "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7c", "removed": false }, { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "topics": [ "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" + "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" ], "data": "0x", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x71", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "blockTimestamp": "0x67f8d524", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "logIndex": "0x7d", "removed": false } ], - "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", + "logsBloom": "0x00000400000000010000008000000000000000000000000000000000000000000008000000000000000000000000000004000000000400000000000000000000000000000000004040000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000100000000040000000000000000000000000000200040000000000000201000000040800000000000000000000000020000000000000000000000000080000000200000000000000000000800000000000000100000000000000020000000100000000000000000000000000000000000000010000000000000000000080000000000000000000", "type": "0x2", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "gasUsed": "0x32a44", - "effectiveGasPrice": "0x3bcd2f", + "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", + "transactionIndex": "0x5d", + "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", + "blockNumber": "0x7b89dd", + "gasUsed": "0x35914", + "effectiveGasPrice": "0x21b48b", "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", + "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1744223128, + "timestamp": 1744360743, "chain": 11155111, - "commit": "b7dba5d" + "commit": "c05839a" } \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol index b39223b0..ba14e671 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol @@ -31,7 +31,7 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789).setApprovedActionsForPool(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, uint256(19)); + UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2).setApprovedActionsForPool(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, uint256(19)); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 54e99bf7..c44f8c7d 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -33,7 +33,9 @@ contract Deploy is Script { vm.startBroadcast(); } - address pool = 0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3; + address pool = 0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087; + address rule = 0x2B311426f1bFbC69a526162acC308e13750bB61A; + address updateWeightRunnerAddress = 0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2; IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool( pool @@ -60,13 +62,13 @@ contract Deploy is Script { console.log("intermediate state"); - int256[] memory intermediateState = AntiMomentumUpdateRule(0x5104f2e6CB97334cD3c1BD000fAe871d77B66D15) + int256[] memory intermediateState = AntiMomentumUpdateRule(rule) .getIntermediateGradientState(pool, 2); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); - int256[] memory movingAverages = AntiMomentumUpdateRule(0x5104f2e6CB97334cD3c1BD000fAe871d77B66D15) + int256[] memory movingAverages = AntiMomentumUpdateRule(rule) .getMovingAverages(pool, 2); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); @@ -81,7 +83,7 @@ contract Deploy is Script { console.logUint(uint256(weights.lastUpdateTime)); address[] memory oracles = UpdateWeightRunner( - 0xc840e742C9CC87F08C14537C6b6515cD952AC789 + updateWeightRunnerAddress ).getOptimisedPoolOracle(pool); console.log("poolOracles"); diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol index 63d4e790..06ab0d70 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol @@ -39,8 +39,8 @@ contract Deploy is Script { newParameters[0] = 1e18; newParameters[1] = 1e18; - UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789) - .setIntermediateValuesManually(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, newMovingAverages, newParameters, 2); + UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2) + .setIntermediateValuesManually(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, newMovingAverages, newParameters, 2); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index 2c06f989..a31fdb85 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -63,7 +63,7 @@ contract Deploy is Script { //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( - 0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, + 0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, tokenAddresses, weights, 0, diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol index cc36a432..34594e64 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol @@ -31,7 +31,7 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789).InitialisePoolLastRunTime(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3, uint40(10)); + UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2).InitialisePoolLastRunTime(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, uint40(10)); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol index 827c86af..3a1cd74f 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol @@ -31,8 +31,8 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xc840e742C9CC87F08C14537C6b6515cD952AC789) - .performUpdate(0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3); + UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2) + .performUpdate(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087); vm.stopBroadcast(); } From 2a8cad4c5234d33b11714260c133fdc2011ee5a7 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 18 Apr 2025 18:59:11 +0100 Subject: [PATCH 17/64] updates to scripts --- .../11155111/run-1741298212.json | 171 ------- .../11155111/run-latest.json | 171 ------- .../11155111/run-1743759879.json | 67 --- .../11155111/run-1743761728.json | 67 --- .../11155111/run-1744026448.json | 67 --- .../11155111/run-1744360479.json | 67 --- .../11155111/run-1744360557.json | 67 --- .../11155111/run-latest.json | 67 --- .../11155111/dry-run/run-1741296892.json | 236 ---------- .../11155111/dry-run/run-latest.json | 236 ---------- .../deploy.sol/11155111/run-1740666722.json | 35 -- .../deploy.sol/11155111/run-1740666794.json | 35 -- .../deploy.sol/11155111/run-1740667239.json | 52 -- .../deploy.sol/11155111/run-1740667322.json | 53 --- .../deploy.sol/11155111/run-1740667616.json | 51 -- .../deploy.sol/11155111/run-1740668523.json | 51 -- .../deploy.sol/11155111/run-1740668605.json | 51 -- .../deploy.sol/11155111/run-1740668647.json | 51 -- .../deploy.sol/11155111/run-1740668678.json | 51 -- .../deploy.sol/11155111/run-1740668741.json | 31 -- .../deploy.sol/11155111/run-1740668801.json | 31 -- .../deploy.sol/11155111/run-1740668855.json | 31 -- .../deploy.sol/11155111/run-1740669009.json | 31 -- .../deploy.sol/11155111/run-1740757396.json | 196 -------- .../deploy.sol/11155111/run-1740757422.json | 196 -------- .../deploy.sol/11155111/run-1740757512.json | 236 ---------- .../deploy.sol/11155111/run-1740757567.json | 236 ---------- .../deploy.sol/11155111/run-1740758205.json | 31 -- .../deploy.sol/11155111/run-1740758244.json | 31 -- .../deploy.sol/11155111/run-1741297063.json | 413 ---------------- .../deploy.sol/11155111/run-latest.json | 413 ---------------- .../11155111/run-1741774592.json | 121 ----- .../11155111/run-latest.json | 121 ----- .../11155111/run-1741609153.json | 46 -- .../11155111/run-latest.json | 46 -- .../11155111/run-1741298261.json | 32 -- .../11155111/run-1741299120.json | 32 -- .../11155111/run-1741299270.json | 32 -- .../11155111/run-1741299474.json | 32 -- .../11155111/run-1741609286.json | 139 ------ .../11155111/run-1741609984.json | 139 ------ .../deploy_pool.sol/11155111/run-latest.json | 139 ------ .../11155111/run-1743762134.json | 69 --- .../11155111/run-1744026594.json | 69 --- .../11155111/run-1744360588.json | 69 --- .../11155111/run-latest.json | 69 --- .../11155111/run-1743761584.json | 443 ------------------ .../11155111/run-1744026377.json | 443 ------------------ .../11155111/run-1744360360.json | 443 ------------------ .../11155111/run-latest.json | 443 ------------------ .../11155111/run-1743759914.json | 65 --- .../11155111/run-1743761768.json | 65 --- .../11155111/run-1743769419.json | 65 --- .../11155111/run-1743770141.json | 65 --- .../11155111/run-1744026530.json | 65 --- .../11155111/run-1744360660.json | 65 --- .../11155111/run-latest.json | 65 --- .../11155111/run-1743762446.json | 96 ---- .../11155111/run-1743770396.json | 96 ---- .../11155111/run-1744026823.json | 96 ---- .../11155111/run-1744223128.json | 96 ---- .../11155111/run-1744360743.json | 124 ----- .../11155111/run-latest.json | 124 ----- .../11155111/run-1743769013.json | 96 ---- .../11155111/run-1743769290.json | 96 ---- .../11155111/run-1743769369.json | 32 -- .../11155111/run-1743769932.json | 96 ---- .../11155111/run-1743770178.json | 96 ---- .../11155111/run-1743770573.json | 96 ---- .../11155111/run-1743772470.json | 96 ---- .../11155111/run-1743773094.json | 96 ---- .../pool_check.sol/11155111/run-latest.json | 96 ---- .../11155111/run-1742314693.json | 394 ---------------- .../11155111/run-1742314890.json | 394 ---------------- .../11155111/run-1742314913.json | 394 ---------------- .../11155111/run-1742314937.json | 394 ---------------- .../11155111/run-1742314963.json | 394 ---------------- .../11155111/run-1742314987.json | 394 ---------------- .../11155111/run-1742315004.json | 394 ---------------- .../11155111/run-1742315021.json | 394 ---------------- .../11155111/run-1742315129.json | 394 ---------------- .../11155111/run-1742315150.json | 394 ---------------- .../11155111/run-1742315165.json | 394 ---------------- .../11155111/run-1742315204.json | 394 ---------------- .../11155111/run-1742315225.json | 394 ---------------- .../11155111/run-1742315258.json | 394 ---------------- .../11155111/run-1742315292.json | 394 ---------------- .../11155111/run-1742315317.json | 394 ---------------- .../11155111/run-1742315347.json | 394 ---------------- .../11155111/run-1742315369.json | 394 ---------------- .../11155111/run-1742315389.json | 394 ---------------- .../11155111/run-1742315427.json | 394 ---------------- .../11155111/run-1742315477.json | 394 ---------------- .../11155111/run-1742315512.json | 394 ---------------- .../11155111/run-1742315536.json | 394 ---------------- .../11155111/run-1742315560.json | 394 ---------------- .../11155111/run-1742315959.json | 394 ---------------- .../11155111/run-1742315980.json | 394 ---------------- .../11155111/run-1742316064.json | 394 ---------------- .../11155111/run-1742316089.json | 394 ---------------- .../11155111/run-1742316110.json | 394 ---------------- .../11155111/run-1742316139.json | 394 ---------------- .../11155111/run-1742316173.json | 394 ---------------- .../11155111/run-1742316196.json | 394 ---------------- .../11155111/run-1742316230.json | 394 ---------------- .../11155111/run-1742316244.json | 394 ---------------- .../11155111/run-1742316270.json | 394 ---------------- .../11155111/run-1742316290.json | 394 ---------------- .../11155111/run-1742316315.json | 394 ---------------- .../11155111/run-1742316353.json | 394 ---------------- .../11155111/run-1742316372.json | 394 ---------------- .../11155111/run-1742316411.json | 394 ---------------- .../11155111/run-1742316439.json | 394 ---------------- .../11155111/run-1742316472.json | 168 ------- .../11155111/run-1742316495.json | 168 ------- .../11155111/run-1742316522.json | 168 ------- .../11155111/run-1742316558.json | 168 ------- .../11155111/run-1742316590.json | 168 ------- .../11155111/run-1742316620.json | 168 ------- .../11155111/run-1742316654.json | 168 ------- .../11155111/run-1742316675.json | 168 ------- .../11155111/run-1742316702.json | 168 ------- .../11155111/run-1742316734.json | 168 ------- .../11155111/run-1742316761.json | 168 ------- .../11155111/run-1742316781.json | 168 ------- .../11155111/run-1742316806.json | 168 ------- .../11155111/run-1742316832.json | 168 ------- .../11155111/run-1742316857.json | 168 ------- .../11155111/run-1742316890.json | 168 ------- .../11155111/run-1742316918.json | 168 ------- .../11155111/run-1742316955.json | 168 ------- .../11155111/run-1742316975.json | 168 ------- .../11155111/run-1742317001.json | 168 ------- .../11155111/run-1742317021.json | 168 ------- .../11155111/run-1742317060.json | 168 ------- .../11155111/run-1742317081.json | 168 ------- .../11155111/run-1742317121.json | 168 ------- .../11155111/run-1742404217.json | 443 ------------------ .../11155111/run-1743757912.json | 443 ------------------ .../pool_checks.sol/11155111/run-latest.json | 443 ------------------ .../admin-scripts/approve_pool_for_use.sol | 3 +- .../deployment/admin-scripts/mint_weth.sol | 37 ++ .../deployment/diagnostics/pool_check.sol | 73 ++- .../deployment/diagnostics/tx_check.sol | 41 ++ .../manual_weight_update.sol | 49 ++ .../initialise_intermediate_values.sol | 13 +- .../pool-initialisation/initialise_pool.sol | 38 +- .../initialise_pool_copy.sol | 99 ++++ .../initialise_rule_runner.sol | 3 +- .../deployment/pool-running/perform_swap.sol | 56 +++ .../pool-running/perform_update.sol | 5 +- 151 files changed, 395 insertions(+), 29873 deletions(-) delete mode 100644 pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json delete mode 100644 pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json delete mode 100644 pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json delete mode 100644 pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json delete mode 100644 pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json delete mode 100644 pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json create mode 100644 pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/disaster-recovery/manual_weight_update.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol diff --git a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json deleted file mode 100644 index 89f0e8d7..00000000 --- a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-1741298212.json +++ /dev/null @@ -1,171 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef", - "nonce": "0x33", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21", - "nonce": "0x34", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", - "nonce": "0x35", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc3ca4e", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionIndex": "0x78", - "logIndex": "0x74", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000800000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionIndex": "0x78", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc47bd6", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionIndex": "0x79", - "logIndex": "0x75", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000000100000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionIndex": "0x79", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc52d5e", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionIndex": "0x7a", - "logIndex": "0x76", - "removed": false - } - ], - "logsBloom": "0x40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000100100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionIndex": "0x7a", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741298212, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json deleted file mode 100644 index 89f0e8d7..00000000 --- a/pkg/pool-quantamm/broadcast/approve_oracle.sol/11155111/run-latest.json +++ /dev/null @@ -1,171 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef", - "nonce": "0x33", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21", - "nonce": "0x34", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": "addOracle(address)", - "arguments": [ - "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "gas": "0xf536", - "value": "0x0", - "input": "0xdf5dd1a5000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", - "nonce": "0x35", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc3ca4e", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionIndex": "0x78", - "logIndex": "0x74", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000800000000000100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xda2c1a03a95bc8b8eac23311e448a69a2a7843b0504780ba014d11dbf1c2b657", - "transactionIndex": "0x78", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc47bd6", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f21" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionIndex": "0x79", - "logIndex": "0x75", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000000100000000000000000000000000000000000000000000000002040000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xf3c5666f5e550d310a5d0a06f8f9c79b6aa9582016a319c959d66339f61e8d89", - "transactionIndex": "0x79", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc52d5e", - "logs": [ - { - "address": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "topics": [ - "0x0047706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4", - "0x000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a" - ], - "data": "0x", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "blockTimestamp": "0x67ca1a20", - "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionIndex": "0x7a", - "logIndex": "0x76", - "removed": false - } - ], - "logsBloom": "0x40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000800000000100100000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000002000000000000000000000000000000000000000020000000", - "type": "0x2", - "transactionHash": "0xee463c943d9f1dc3ade2fe95b0f26b8d2d21a1b5c0c0e6624ffd85a97a6c4ae4", - "transactionIndex": "0x7a", - "blockHash": "0x23d19da6caff4b765ea3525bbc7d766f52af82e4a3bb610d856eab8bd418e2e2", - "blockNumber": "0x77beb1", - "gasUsed": "0xb188", - "effectiveGasPrice": "0x11194d", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741298212, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json deleted file mode 100644 index 5cf37ba8..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743759879.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xfa38", - "value": "0x0", - "input": "0xaebdc7f30000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa840000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x161", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe844c7", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0x85b6034455c2be2caba4c163f512a29fb0531677e567d1f9409981f397fc919f", - "blockNumber": "0x7ace1a", - "blockTimestamp": "0x67efaa04", - "transactionHash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", - "transactionIndex": "0x80", - "logIndex": "0xd0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000800000000020800000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x222f5b98a31b944ef3b4514886b5226d5da1d2ae60d87ef5f16a9f2213698543", - "transactionIndex": "0x80", - "blockHash": "0x85b6034455c2be2caba4c163f512a29fb0531677e567d1f9409981f397fc919f", - "blockNumber": "0x7ace1a", - "gasUsed": "0xb528", - "effectiveGasPrice": "0x47f92aa5", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743759879, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json deleted file mode 100644 index e273bde5..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1743761728.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xfa38", - "value": "0x0", - "input": "0xaebdc7f3000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e0000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x169", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x14b047e", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0xfa38d17c3b41612fd1aef51624e83198da97e6a30803874cbaa07f29e178a8c7", - "blockNumber": "0x7aceb4", - "blockTimestamp": "0x67efb13c", - "transactionHash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", - "transactionIndex": "0xa1", - "logIndex": "0xdd", - "removed": false - } - ], - "logsBloom": "0x00000010000000010000000000000000000000000000000000000000000000000000000000000000000001000000000400000000000000000000000000020000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x5b692859a86b96e050cd45d0ebfb6e1b6ae9a4d24f76ba68f170bb6c1e1e8d7a", - "transactionIndex": "0xa1", - "blockHash": "0xfa38d17c3b41612fd1aef51624e83198da97e6a30803874cbaa07f29e178a8c7", - "blockNumber": "0x7aceb4", - "gasUsed": "0xb528", - "effectiveGasPrice": "0x6ca6fe49", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743761728, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json deleted file mode 100644 index 40af77b5..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744026448.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xfa38", - "value": "0x0", - "input": "0xaebdc7f30000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c30000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x18c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xf0e67e", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", - "blockNumber": "0x7b230f", - "blockTimestamp": "0x67f3bb4c", - "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", - "transactionIndex": "0x62", - "logIndex": "0x90", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x9c035365ce8f087425f0449f4bb3e03a7e3e314f9f49b0ae1ad1eb4d59499baa", - "transactionIndex": "0x62", - "blockHash": "0x89aa017abc128c1917ceda1081bc2cd1d8bb3a88cab439fd5cc273bcc896d219", - "blockNumber": "0x7b230f", - "gasUsed": "0xb528", - "effectiveGasPrice": "0x2a767d85", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744026448, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json deleted file mode 100644 index 0832fa72..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360479.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xfa38", - "value": "0x0", - "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x1b2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xf8378a", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0x53bd86fe91e790e878ea19a35e48916c9eda34df352a59be4632d8a39ebca62b", - "blockNumber": "0x7b89c9", - "blockTimestamp": "0x67f8d41c", - "transactionHash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", - "transactionIndex": "0xf6", - "logIndex": "0x8e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x79c22197beb09028e67d0c3c26e18d0d5099119eaa19388b9626df30529aade8", - "transactionIndex": "0xf6", - "blockHash": "0x53bd86fe91e790e878ea19a35e48916c9eda34df352a59be4632d8a39ebca62b", - "blockNumber": "0x7b89c9", - "gasUsed": "0xb528", - "effectiveGasPrice": "0x1cadd3", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360479, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json deleted file mode 100644 index 9a4795e1..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-1744360557.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0xfa56", - "value": "0x0", - "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x1b3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xd17280", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", - "blockNumber": "0x7b89cf", - "blockTimestamp": "0x67f8d464", - "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionIndex": "0x52", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionIndex": "0x52", - "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", - "blockNumber": "0x7b89cf", - "gasUsed": "0xb53e", - "effectiveGasPrice": "0x1b398c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360557, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json deleted file mode 100644 index 9a4795e1..00000000 --- a/pkg/pool-quantamm/broadcast/approve_pool_for_use.sol/11155111/run-latest.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "setApprovedActionsForPool(address,uint256)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "19" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0xfa56", - "value": "0x0", - "input": "0xaebdc7f3000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c10870000000000000000000000000000000000000000000000000000000000000013", - "nonce": "0x1b3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xd17280", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000013", - "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", - "blockNumber": "0x7b89cf", - "blockTimestamp": "0x67f8d464", - "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionIndex": "0x52", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000800000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd15da96674fed40a8ce5fd0ff78ff599878b4d3e2787e10b3fb0759c87335f1a", - "transactionIndex": "0x52", - "blockHash": "0xc0efd4341d7551091da172b06cd5bfc9f4423bb543b990f5cae13115da2cba36", - "blockNumber": "0x7b89cf", - "gasUsed": "0xb53e", - "effectiveGasPrice": "0x1b398c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360557, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json deleted file mode 100644 index a4cf23a5..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-1741296892.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x34A1D3fff3958843C43aD80F30b94c510645C316", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x90193C961A926261B756D1E5bb255e67ff9498A1", - "function": null, - "arguments": [ - "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "0x34A1D3fff3958843C43aD80F30b94c510645C316" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a00330000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f3800000000000000000000000034a1d3fff3958843c43ad80f30b94c510645c316", - "nonce": "0x3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636500000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e672900000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0xD718d5A27a29FF1cD22403426084bA0d479869a0", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a10000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0xa", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0xb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0xc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741296892, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json deleted file mode 100644 index a4cf23a5..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/dry-run/run-latest.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x34A1D3fff3958843C43aD80F30b94c510645C316", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x90193C961A926261B756D1E5bb255e67ff9498A1", - "function": null, - "arguments": [ - "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "0x34A1D3fff3958843C43aD80F30b94c510645C316" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a00330000000000000000000000001804c8ab1f12e6bbf3894d4083f33e07309d1f3800000000000000000000000034a1d3fff3958843c43ad80f30b94c510645c316", - "nonce": "0x3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636500000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e672900000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e00000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809", - "function": null, - "arguments": [ - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f7200000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a1", - "nonce": "0x9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0xD718d5A27a29FF1cD22403426084bA0d479869a0", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x90193C961A926261B756D1E5bb255e67ff9498A1" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000090193c961a926261b756d1e5bb255e67ff9498a10000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0xa", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0xb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0xc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741296892, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json deleted file mode 100644 index 9e9c2534..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666722.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x3039cC016C954c0C3779161589682a2D0fC81049", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740666722, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json deleted file mode 100644 index 49d890bb..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740666794.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x3039cC016C954c0C3779161589682a2D0fC81049", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x122eb2a", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740666794, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json deleted file mode 100644 index c42d1a3a..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667239.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe5a47cd3ca008b27f5520f25608ebf744e541ea6a84586672d5ea419fb653264", - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x6f2bD10b9b17E80e5BCd49158890561f053Ed2EB" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006f2bd10b9b17e80e5bcd49158890561f053ed2eb0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x13", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x11207e7", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe5a47cd3ca008b27f5520f25608ebf744e541ea6a84586672d5ea419fb653264", - "transactionIndex": "0x85", - "blockHash": "0x3b46e0a3ff6a5f5f5262e6381e651e16fe7fcb31831f2e4ec9b9a53462b2496e", - "blockNumber": "0x76f9c8", - "gasUsed": "0x917595", - "effectiveGasPrice": "0x2511f9bcc", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x502c0B3C0c4f781c98Cd46274bc2Ca5306eAFBB4" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740667239, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json deleted file mode 100644 index 754aefd5..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667322.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5c3d8fc943df9dc5cda25bcba7a3245f7bb5c5936b76d63f38da4bad90676239", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21be26f", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x2183315", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x5c3d8fc943df9dc5cda25bcba7a3245f7bb5c5936b76d63f38da4bad90676239" - ], - "returns": {}, - "timestamp": 1740667322, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json deleted file mode 100644 index bbc3c04c..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740667616.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740667616, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json deleted file mode 100644 index 6fad129a..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668523.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x4c4108B7a2999f2811cF798f829cE25A5E648E98", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x16", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668523, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json deleted file mode 100644 index e4833f5b..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668605.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668605, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json deleted file mode 100644 index ececc26c..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668647.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21be118", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21831bd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668647, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json deleted file mode 100644 index d79a70d4..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668678.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21be26f", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x2183315", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668678, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json deleted file mode 100644 index 8fe2b8c1..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668741.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21be26f", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668741, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json deleted file mode 100644 index b8c23480..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668801.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xf5eF1ca7b7a787055f0b51A4d3B5c73C78C99a11", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8c0f2", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x14", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668801, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json deleted file mode 100644 index d6814c0b..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740668855.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8c0f2", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740668855, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json deleted file mode 100644 index 10cbddc4..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740669009.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x0947b79A24Ce1Db26227c1d3D9955E8c751f291B", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8c0f2", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x15", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740669009, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json deleted file mode 100644 index 8d70aef1..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757396.json +++ /dev/null @@ -1,196 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8c0f2", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x75bae8", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", - "nonce": "0x1e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x734fb2", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x1f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x72d3f8", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x20", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5824b6", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x21", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8e780c", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x22", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c51d4", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x23", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x7a1db2", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x24", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x122eb2a", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740757396, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json deleted file mode 100644 index e78ddf95..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757422.json +++ /dev/null @@ -1,196 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21be258", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x21820a8", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", - "nonce": "0x1e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x1e294b5", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x1f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x1adf9c4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x20", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x1799dfc", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x21", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x1517bfd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x22", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x1103feb", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x23", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xe65d2d", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x24", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xae7764", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": true - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740757422, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json deleted file mode 100644 index 33a74b9b..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757512.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c864a", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000a6dbff8a567775d02a124cf617f9ff4100dc2380", - "nonce": "0x1e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x1f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x20", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x21", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x22", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x23", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", - "function": null, - "arguments": [ - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x24", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000538868e7addb66b371415468a3344d0dc97bb6630000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x25", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x8416Cdea29D109f7FB1934e8942c0A020f5a1699", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x26", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xd8767Ae1e6C1a9C7d0CAc52D89B372Cd3C5A50cd", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x27", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740757512, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json deleted file mode 100644 index 2415e19d..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740757567.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x538868e7aDDB66b371415468a3344D0dC97bb663", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0x538868e7aDDB66b371415468a3344D0dC97bb663" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000538868e7addb66b371415468a3344d0dc97bb663", - "nonce": "0x1f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xFE3d21C3B56E143283Fd9e6CCdcbCf9d7b66F3F5", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x20", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0x56FE7aAf05BEAD7F2c15141386926B99BfcF77A2", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x21", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0x7f58375a43C06a4ae4b4d6038D68008471717F66", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x22", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0xB848d4A1ce363729571Cd8EA86Ea2a47DE1744A3", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x23", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0x3515a6Ab4A1F27B7Cbd92c5dC1174ccb1aB75643", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x24", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x801d95813180cB1934D9F6B9f6eE18815FC043CE", - "function": null, - "arguments": [ - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f", - "nonce": "0x25", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x8416Cdea29D109f7FB1934e8942c0A020f5a1699", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0x228D3550138E4147B66ce0DfcCa1952Fe8F05e0f" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000228d3550138e4147b66ce0dfcca1952fe8f05e0f0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x26", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xd8767Ae1e6C1a9C7d0CAc52D89B372Cd3C5A50cd", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x27", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x28", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740757567, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json deleted file mode 100644 index ff69575b..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758205.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740758205, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json deleted file mode 100644 index 8bd5facf..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1740758244.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xA6Dbff8a567775D02a124cf617F9Ff4100DC2380", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x8c0f2", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x1d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1740758244, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json deleted file mode 100644 index ddcbd529..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-1741297063.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x28", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", - "nonce": "0x29", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x30", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x31", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x32", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x7e0e5b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionIndex": "0x61", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb8ebdb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionIndex": "0x62", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf293b4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionIndex": "0x63", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12bfdb0", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionIndex": "0x64", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3969fc", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x158100b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionIndex": "0x65", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2c125b", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19f4c11", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionIndex": "0x66", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x473c06", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1cd74fb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionIndex": "0x67", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2e28ea", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x20a83d4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionIndex": "0x68", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3d0ed9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1f9464b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionIndex": "0x6a", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x917595", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1fda6c4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionIndex": "0x6b", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x202073d", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionIndex": "0x6c", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741297063, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json deleted file mode 100644 index ddcbd529..00000000 --- a/pkg/pool-quantamm/broadcast/deploy.sol/11155111/run-latest.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x28", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea26469706673582212206419d65fa6d73f37fe507b1ed6498c862333e6053bff6d5480dcd96e40ddcda764736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000b71a9eed4ae116a1a9600f4b1d045f2eb91ba66a", - "nonce": "0x29", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220712c6aa163367dd1d59f157198962efc6290a8db5a1c000866eecc8a971d946764736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionType": "CREATE", - "contractName": "MomentumUpdateRule", - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4aa361", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421238038061421283398101604081905261002e91610230565b6001600160a01b0381166080526040805180820190915260088152674d6f6d656e74756d60c01b602082015260029061006790826102f5565b506040805160038082526080820190925290816020015b606081526020019060019003908161007e57505080516100a691600391602090910190610172565b506040518060a00160405280606981526020016141716069913960035f815481106100d3576100d36103af565b905f5260205f200190816100e791906102f5565b506040518060600160405280603881526020016141da603891396003600181548110610115576101156103af565b905f5260205f2001908161012991906102f5565b506040518060800160405280605e8152602001614113605e91396003600281548110610157576101576103af565b905f5260205f2001908161016b91906102f5565b50506103c3565b828054828255905f5260205f209081019282156101b6579160200282015b828111156101b657825182906101a690826102f5565b5091602001919060010190610190565b506101c29291506101c6565b5090565b808211156101c2575f6101d982826101e2565b506001016101c6565b5080546101ee90610271565b5f825580601f106101fd575050565b601f0160209004905f5260205f2090810190610219919061021c565b50565b5b808211156101c2575f815560010161021d565b5f60208284031215610240575f80fd5b81516001600160a01b0381168114610256575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028557607f821691505b6020821081036102a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f057805f5260205f20601f840160051c810160208510156102ce5750805b601f840160051c820191505b818110156102ed575f81556001016102da565b50505b505050565b81516001600160401b0381111561030e5761030e61025d565b6103228161031c8454610271565b846102a9565b6020601f821160018114610354575f831561033d5750848201515b5f19600385901b1c1916600184901b1784556102ed565b5f84815260208120601f198516915b828110156103835787850151825560209485019460019092019101610363565b50848210156103a057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d316103e25f395f81816103cb01526104670152613d315ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613788565b60405180910390f35b6100a461009f366004613805565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613844565b610387565b6100da6100d5366004613921565b6103ae565b005b6100ef6100ea3660046139b4565b61045a565b6040516100889190613ab3565b61010f61010a366004613af5565b610c71565b604051908152602001610088565b6002805461012a90613b1d565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613b1d565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b55565b90506020028101906101e49190613b69565b90506001145b1561037e575f83835f81811061020257610202613b55565b90506020028101906102149190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b55565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b55565b90506020028101906102cf9190613b69565b90506001145b1561036d57848460018181106102ed576102ed613b55565b90506020028101906102ff9190613b69565b5f81811061030f5761030f613b55565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b55565b905060200281019061034d9190613b69565b5f81811061035d5761035d613b55565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613b1d565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613bc3565b60208201528467ffffffffffffffff81111561057057610570613871565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b55565b90506020020160208101906105da9190613bd6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b55565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613871565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613871565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613871565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613c03565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b55565b60200260200101518160e001518260400151835f015161083e9190613c16565b8151811061084e5761084e613b55565b6020026020010181815250505b60c081015181518151811061087257610872613b55565b60200260200101518160e00151825f01518151811061089357610893613b55565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b55565b60200260200101518160e0015182604001518361016001516108f09190613c16565b8151811061090057610900613b55565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b55565b60200260200101518160e001518261016001518151811061094b5761094b613b55565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b55565b60200260200101518260c001518361016001518151811061099f5761099f613b55565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b55565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613c03565b15610b455760018160400151610a249190613bc3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b55565b60200260200101518160e001518260400151836101a00151610a7c9190613c16565b81518110610a8c57610a8c613b55565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b55565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b55565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b55565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b55565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061372b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611aad565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061372b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611b04565b60608183516002610e049190613c29565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613871565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613bc3565b90505f610eb5600286613c03565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b55565b6020026020010151901d858581518110610ef357610ef3613b55565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b55565b6020026020010151600f0b858581518110610f4e57610f4e613b55565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b55565b6020026020010151600f0b84600187610f989190613bc3565b81518110610fa857610fa8613b55565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613871565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b55565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c40565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b55565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b6020026020010151611c1590919063ffffffff16565b6110af8488611c15565b6110b99190613c66565b90611d1c565b8583815181106110d1576110d1613b55565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b55565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b55565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b55565b85838151811061117257611172613b55565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613c03565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613871565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613bc3565b8110156113dd576113b286828151811061138c5761138c613b55565b6020026020010151878360016113a29190613c16565b8151811061099f5761099f613b55565b8583815181106113c4576113c4613b55565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613bc3565b8151811061140357611403613b55565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613871565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613bc3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b55565b6020026020010151898360016113a29190613c16565b87858151811061153357611533613b55565b60209081029190910101526001909301926002016114ee565b5086611559600187613bc3565b8151811061156957611569613b55565b6020026020010151600f0b86848151811061158657611586613b55565b60200260200101818152505050505b505050919050565b60606115e960405180610120016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115fb576115fb613b55565b905060200281019061160d9190613b69565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600184111561169e57670de0b6b3a76400008585600181811061166957611669613b55565b905060200281019061167b9190613b69565b5f81811061168b5761168b613b55565b6020029190910135919091146080830152505b60208301879052606081018790526116b68684611e25565b60208201525f60a08201525b80606001518160a0015110156118465782606001518160a00151815181106116ec576116ec613b55565b60200260200101518160c001818152505080608001511561172f57858160a001518151811061171d5761171d613b55565b60200260200101518160c00181815250505b61177981602001518260a001518151811061174c5761174c613b55565b60200260200101516117738360c00151670de0b6b3a7640000611d1c90919063ffffffff16565b90611c15565b81602001518260a001518151811061179357611793613b55565b60209081029190910101528051516001036117e35780602001518160a00151815181106117c2576117c2613b55565b6020026020010151816040018181516117db9190613c66565b905250611836565b611821815f01518260a00151815181106117ff576117ff613b55565b602002602001015182602001518360a001518151811061108f5761108f613b55565b816040018181516118329190613c66565b9052505b60a08101805160010190526116c2565b806060015167ffffffffffffffff81111561186357611863613871565b60405190808252806020026020018201604052801561188c578160200160208202803683370190505b50815151909250600103611972578060600151816040018181516118b09190613c8d565b9052505f60a08201525b80606001518160a00151101561196d575f611911826040015183602001518460a00151815181106118ed576118ed613b55565b60200260200101516118ff9190613c40565b835180515f9061108f5761108f613b55565b89898460a0015181811061192757611927613b55565b905060200201356119389190613c66565b905080838360a001518151811061195157611951613b55565b60209081029190910101525060a08101805160010190526118ba565b611aa2565b5f60a08201525b80515160a082015110156119ca57805160a08201518151811061199e5761199e613b55565b60200260200101518160e0018181516119b79190613c66565b90525060a0810180516001019052611979565b60e081015160408201516119dd91611d1c565b60408201525f60a08201525b60a0810151871115611aa257611a40816040015182602001518360a0015181518110611a1757611a17613b55565b6020026020010151611a299190613c40565b825160a08401518151811061108f5761108f613b55565b88888360a00151818110611a5657611a56613b55565b90506020020135611a679190613c66565b610100820181905260a082015183518491908110611a8757611a87613b55565b602090810291909101015260a08101805160010190526119e9565b509695505050505050565b6060611ab9868361262a565b9550611afa8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127b39050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b8f5750801580611b56575060028351611b3d9190613c03565b158015611b5657508060028451611b549190613cb9565b145b80611b8f575060028351611b6a9190613c03565b15801590611b8f57508060028451611b829190613cb9565b611b8d906001613c16565b145b15611bcd57611b9d836112ac565b6001600160a01b0385165f908152602081815260409091208251611bc7939192919091019061372b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c2b5750600160ff1b82145b15611c62576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c715784611c75565b845f035b91505f8412611c845783611c88565b835f035b90505f611c958383612b66565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cf4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611d0c5782611d10565b825f035b98975050505050505050565b5f600160ff1b831480611d325750600160ff1b82145b15611d69576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d785784611d7c565b845f035b91505f8412611d8b5783611d8f565b835f035b90505f611da583670de0b6b3a764000084612c5b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611e04576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611e1c5782611d10565b611d1083613ccc565b6060611e626040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e7f57611e7f613871565b604051908082528060200260200182016040528015611ea8578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611f1a9392830182828015611f0b57602002820191905f5260205f20905b815481526020019060010190808311611ef7575b50505050508460200151610df3565b60c082015260208301515f90611f3290600290613c03565b5f141590505f60018560200151611f499190613bc3565b90505f85604001515f81518110611f6257611f62613b55565b6020026020010151600f0b90505f81670de0b6b3a7640000611f849190613c40565b90508660400151516001036122b657611fa9826110b9836729a2241af62c0000612d3c565b85528315611fb8575f19909201915b5f5b838110156121b7576120088289606001518381518110611fdc57611fdc613b55565b60200260200101518b8481518110611ff657611ff6613b55565b60200260200101516110b99190613c40565b6120388760c00151838151811061202157612021613b55565b602002602001015185611c1590919063ffffffff16565b6120429190613c66565b6020870181905260c087015180518390811061206057612060613b55565b602090810291909101810191909152860151865161207d91611c15565b8660a00151828151811061209357612093613b55565b602090810291909101015260018101606080880182905289015180516120e29285929181106120c4576120c4613b55565b60200260200101518b896060015181518110611ff657611ff6613b55565b6120ff8760c0015188606001518151811061202157612021613b55565b6121099190613c66565b60408701819052865161211b91611c15565b8660a0015187606001518151811061213557612135613b55565b60200260200101818152505061216c8660c00151828151811061215a5761215a613b55565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061219957612199613b55565b5f918252602090912001556080860180516001019052600201611fba565b5083156122b1578260010192506121f881886060015185815181106121de576121de613b55565b60200260200101518a8681518110611ff657611ff6613b55565b6122288660c00151858151811061221157612211613b55565b602002602001015184611c1590919063ffffffff16565b6122329190613c66565b60208601819052612244905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061227157612271613b55565b5f9182526020918290200191909155850151855161228e91611c15565b8560a0015184815181106122a4576122a4613b55565b6020026020010181815250505b61261b565b83156122c8576122c583613ce6565b92505b5f5b8381101561250257876040015181815181106122e8576122e8613b55565b6020026020010151600f0b925082670de0b6b3a7640000039150612321836110b96729a2241af62c000085612d3c90919063ffffffff16565b86526060880151805161234091849184908110611fdc57611fdc613b55565b6123598760c00151838151811061202157612021613b55565b6123639190613c66565b6020870181905260c087015180518390811061238157612381613b55565b602090810291909101810191909152860151865161239e91611c15565b8660a0015182815181106123b4576123b4613b55565b602090810291909101015260018101606087018190526040890151805190919081106123e2576123e2613b55565b6020026020010151600f0b925082670de0b6b3a764000003915061241b836110b96729a2241af62c000085612d3c90919063ffffffff16565b865260608089015190870151815161243f928592909181106120c4576120c4613b55565b61245c8760c0015188606001518151811061202157612021613b55565b6124669190613c66565b60408701819052865161247891611c15565b8660a0015187606001518151811061249257612492613b55565b6020026020010181815250506124b78660c00151828151811061215a5761215a613b55565b88516001600160a01b03165f9081526020819052604090206080880151815481106124e4576124e4613b55565b5f9182526020909120015560808601805160010190526002016122ca565b50831561261b578260010192508660400151838151811061252557612525613b55565b6020026020010151600f0b915081670de0b6b3a764000003905061255e826110b96729a2241af62c000084612d3c90919063ffffffff16565b85526060870151805161257d918391869081106121de576121de613b55565b6125968660c00151858151811061221157612211613b55565b6125a09190613c66565b6020860181905285516125b291611c15565b8560a0015184815181106125c8576125c8613b55565b6020026020010181815250506125e25f8660200151611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061260f5761260f613b55565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126415783915050610381565b5f8390505f612657856117736001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612729578489828151811061268357612683613b55565b602002602001015112156126ba57848982815181106126a4576126a4613b55565b6020026020010181815250508483039250612721565b838982815181106126cd576126cd613b55565b6020026020010151131561270257838982815181106126ee576126ee613b55565b602090810291909101015290830190612721565b88818151811061271457612714613b55565b6020026020010151820191505b600101612668565b5080156127a7575f61273b8383611d1c565b90505f5b868110156127a457858a828151811061275a5761275a613b55565b60200260200101511461279c5761277d828b838151811061108f5761108f613b55565b8a828151811061278f5761278f613b55565b6020026020010181815250505b60010161273f565b50505b50959695505050505050565b6060815f5b8551811015612885575f8582815181106127d4576127d4613b55565b60200260200101518783815181106127ee576127ee613b55565b602002602001015113156128385785828151811061280e5761280e613b55565b602002602001015187838151811061282857612828613b55565b6020026020010151039050612870565b86828151811061284a5761284a613b55565b602002602001015186838151811061286457612864613b55565b60200260200101510390505b8281131561287c578092505b506001016127b8565b505f805f805f878613156129e9575f61289e8988611d1c565b90505f5b8a518110156129e2575f6128f3838e84815181106128c2576128c2613b55565b60200260200101518e85815181106128dc576128dc613b55565b602002602001015103611c1590919063ffffffff16565b9050808d838151811061290857612908613b55565b6020026020010151018c838151811061292357612923613b55565b6020026020010181815250508b828151811061294157612941613b55565b602002602001015188019750858c838151811061296057612960613b55565b60200260200101511315612998578593508694508b828151811061298657612986613b55565b602002602001015195508196506129d9565b838c83815181106129ab576129ab613b55565b602002602001015113156129d9578b82815181106129cb576129cb613b55565b602002602001015193508194505b506001016128a2565b5050612aa8565b5f5b8951811015612aa657898181518110612a0657612a06613b55565b602002602001015186019550838a8281518110612a2557612a25613b55565b60200260200101511315612a5d57839150849250898181518110612a4b57612a4b613b55565b60200260200101519350809450612a9e565b818a8281518110612a7057612a70613b55565b60200260200101511315612a9e57898181518110612a9057612a90613b55565b602002602001015191508092505b6001016129eb565b505b670de0b6b3a76400008514612b5557670de0b6b3a7640000851315612b1057670de0b6b3a76400008503898581518110612ae457612ae4613b55565b602002602001015103898581518110612aff57612aff613b55565b602002602001018181525050612b55565b84670de0b6b3a764000003898381518110612b2d57612b2d613b55565b602002602001015101898381518110612b4857612b48613b55565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612bc1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bfd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c9257838281612c8857612c88613bef565b0492505050612b5f565b838110612cd5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d61578115612d50575f612d5a565b670de0b6b3a76400005b9050610381565b612b5f612d76612d7085612d7b565b84611c15565b612e74565b5f808213612db8576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612dd057506001612de9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612dfd670de0b6b3a76400008505612f2b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e2757505002919050565b6706f05b59d3b200005b5f811315612e6b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e63579384019360019190911d905b60011d612e31565b50505002919050565b5f80821215612ec55768033dd1780914b9711419821215612e9657505f919050565b612ea1825f03612e74565b6ec097ce7bc90715b34b9f100000000081612ebe57612ebe613bef565b0592915050565b680a688906bd8b0000008212612f0a576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f228161301b565b9150505b919050565b5f7001000000000000000000000000000000008210612f5757608091821c91612f549082613c16565b90505b680100000000000000008210612f7a57604091821c91612f779082613c16565b90505b6401000000008210612f9957602091821c91612f969082613c16565b90505b620100008210612fb657601091821c91612fb39082613c16565b90505b6101008210612fd257600891821c91612fcf9082613c16565b90505b60108210612fed57600491821c91612fea9082613c16565b90505b6004821061300857600291821c916130059082613c16565b90505b60028210612f2657610381600182613c16565b778000000000000000000000000000000000000000000000006780000000000000008216156130535768016a09e667f3bcc9090260401c5b674000000000000000821615613072576801306fe0a31b7152df0260401c5b672000000000000000821615613091576801172b83c7d517adce0260401c5b6710000000000000008216156130b05768010b5586cf9890f62a0260401c5b6708000000000000008216156130cf576801059b0d31585743ae0260401c5b6704000000000000008216156130ee57680102c9a3e778060ee70260401c5b67020000000000000082161561310d5768010163da9fb33356d80260401c5b67010000000000000082161561312c57680100b1afa5abcbed610260401c5b668000000000000082161561314a5768010058c86da1c09ea20260401c5b6640000000000000821615613168576801002c605e2e8cec500260401c5b662000000000000082161561318657680100162f3904051fa10260401c5b66100000000000008216156131a4576801000b175effdc76ba0260401c5b66080000000000008216156131c257680100058ba01fb9f96d0260401c5b66040000000000008216156131e05768010002c5cc37da94920260401c5b66020000000000008216156131fe576801000162e525ee05470260401c5b660100000000000082161561321c5768010000b17255775c040260401c5b65800000000000821615613239576801000058b91b5bc9ae0260401c5b6540000000000082161561325657680100002c5c89d5ec6d0260401c5b652000000000008216156132735768010000162e43f4f8310260401c5b6510000000000082161561329057680100000b1721bcfc9a0260401c5b650800000000008216156132ad5768010000058b90cf1e6e0260401c5b650400000000008216156132ca576801000002c5c863b73f0260401c5b650200000000008216156132e757680100000162e430e5a20260401c5b65010000000000821615613304576801000000b1721835510260401c5b64800000000082161561332057680100000058b90c0b490260401c5b64400000000082161561333c5768010000002c5c8601cc0260401c5b642000000000821615613358576801000000162e42fff00260401c5b6410000000008216156133745768010000000b17217fbb0260401c5b640800000000821615613390576801000000058b90bfce0260401c5b6404000000008216156133ac57680100000002c5c85fe30260401c5b6402000000008216156133c85768010000000162e42ff10260401c5b6401000000008216156133e457680100000000b17217f80260401c5b63800000008216156133ff5768010000000058b90bfc0260401c5b634000000082161561341a576801000000002c5c85fe0260401c5b632000000082161561343557680100000000162e42ff0260401c5b6310000000821615613450576801000000000b17217f0260401c5b630800000082161561346b57680100000000058b90c00260401c5b63040000008216156134865768010000000002c5c8600260401c5b63020000008216156134a1576801000000000162e4300260401c5b63010000008216156134bc5768010000000000b172180260401c5b628000008216156134d6576801000000000058b90c0260401c5b624000008216156134f057680100000000002c5c860260401c5b6220000082161561350a5768010000000000162e430260401c5b6210000082161561352457680100000000000b17210260401c5b6208000082161561353e5768010000000000058b910260401c5b62040000821615613558576801000000000002c5c80260401c5b6202000082161561357257680100000000000162e40260401c5b6201000082161561358c576801000000000000b1720260401c5b6180008216156135a557680100000000000058b90260401c5b6140008216156135be5768010000000000002c5d0260401c5b6120008216156135d7576801000000000000162e0260401c5b6110008216156135f05768010000000000000b170260401c5b610800821615613609576801000000000000058c0260401c5b61040082161561362257680100000000000002c60260401c5b61020082161561363b57680100000000000001630260401c5b61010082161561365457680100000000000000b10260401c5b608082161561366c57680100000000000000590260401c5b6040821615613684576801000000000000002c0260401c5b602082161561369c57680100000000000000160260401c5b60108216156136b4576801000000000000000b0260401c5b60088216156136cc57680100000000000000060260401c5b60048216156136e457680100000000000000030260401c5b60028216156136fc57680100000000000000010260401c5b600182161561371457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613764579160200282015b82811115613764578251825591602001919060010190613749565b50613770929150613774565b5090565b5b80821115613770575f8155600101613775565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137cd575f80fd5b50813567ffffffffffffffff8111156137e4575f80fd5b6020830191508360208260051b85010111156137fe575f80fd5b9250929050565b5f8060208385031215613816575f80fd5b823567ffffffffffffffff81111561382c575f80fd5b613838858286016137bd565b90969095509350505050565b5f60208284031215613854575f80fd5b5035919050565b80356001600160a01b0381168114612f26575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613894575f80fd5b813567ffffffffffffffff8111156138ae576138ae613871565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138db576138db613871565b6040529182526020818501810192908101868411156138f8575f80fd5b6020860192505b838310156139175782358152602092830192016138ff565b5095945050505050565b5f805f8060808587031215613934575f80fd5b61393d8561385b565b9350602085013567ffffffffffffffff811115613958575f80fd5b61396487828801613885565b935050604085013567ffffffffffffffff811115613980575f80fd5b61398c87828801613885565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f26575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ce575f80fd5b8b3567ffffffffffffffff8111156139e4575f80fd5b6139f08e828f016137bd565b909c509a505060208c013567ffffffffffffffff811115613a0f575f80fd5b613a1b8e828f016137bd565b909a509850613a2e905060408d0161385b565b965060608c013567ffffffffffffffff811115613a49575f80fd5b613a558e828f016137bd565b90975095505060808c013567ffffffffffffffff811115613a74575f80fd5b613a808e828f016137bd565b9095509350613a93905060a08d0161399d565b9150613aa160c08d0161399d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aea578351835260209384019390920191600101613acc565b509095945050505050565b5f8060408385031215613b06575f80fd5b613b0f8361385b565b946020939093013593505050565b600181811c90821680613b3157607f821691505b602082108103613b4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b7e575f80fd5b83018035915067ffffffffffffffff821115613b98575f80fd5b6020019150600581901b36038213156137fe575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613baf565b5f60208284031215613be6575f80fd5b612b5f8261399d565b634e487b7160e01b5f52601260045260245ffd5b5f82613c1157613c11613bef565b500690565b8082018082111561038157610381613baf565b808202811582820484141761038157610381613baf565b8181035f831280158383131683831282161715613c5f57613c5f613baf565b5092915050565b8082018281125f831280158216821582161715613c8557613c85613baf565b505092915050565b5f82613c9b57613c9b613bef565b600160ff1b82145f1984141615613cb457613cb4613baf565b500590565b5f82613cc757613cc7613bef565b500490565b5f600160ff1b8203613ce057613ce0613baf565b505f0390565b5f81613cf457613cf4613baf565b505f19019056fea2646970667358221220e41f61d729be784ad71cedc158d983aab80bf5ab8348373e2c6de1076d540bd464736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c207072696365206772616469656e7429557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d2075736520726177207072696365000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionType": "CREATE", - "contractName": "DifferenceMomentumUpdateRule", - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x394b0f", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b506040516131ef3803806131ef83398101604081905261002e9161023a565b6001600160a01b038116608052604080518082019091526012815271446966666572656e63654d6f6d656e74756d60701b602082015260029061007190826102ff565b506040805160038082526080820190925290816020015b606081526020019060019003908161008857505080516100b09160039160209091019061017c565b506040518060a00160405280607f8152602001613170607f913960035f815481106100dd576100dd6103b9565b905f5260205f200190816100f191906102ff565b5060405180608001604052806056815260200161311a60569139600360018154811061011f5761011f6103b9565b905f5260205f2001908161013391906102ff565b506040518060800160405280605481526020016130c6605491396003600281548110610161576101616103b9565b905f5260205f2001908161017591906102ff565b50506103cd565b828054828255905f5260205f209081019282156101c0579160200282015b828111156101c057825182906101b090826102ff565b509160200191906001019061019a565b506101cc9291506101d0565b5090565b808211156101cc575f6101e382826101ec565b506001016101d0565b5080546101f89061027b565b5f825580601f10610207575050565b601f0160209004905f5260205f20908101906102239190610226565b50565b5b808211156101cc575f8155600101610227565b5f6020828403121561024a575f80fd5b81516001600160a01b0381168114610260575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028f57607f821691505b6020821081036102ad57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fa57805f5260205f20601f840160051c810160208510156102d85750805b601f840160051c820191505b818110156102f7575f81556001016102e4565b50505b505050565b81516001600160401b0381111561031857610318610267565b61032c81610326845461027b565b846102b3565b6020601f82116001811461035e575f83156103475750848201515b5f19600385901b1c1916600184901b1784556102f7565b5f84815260208120601f198516915b8281101561038d578785015182556020948501946001909201910161036d565b50848210156103aa57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051612cda6103ec5f395f818161042201526104e90152612cda5ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c806344a01eb31161005857806344a01eb3146100d257806363247534146100e7578063b9579b0d14610108578063fe8cb6d714610128575f80fd5b806306fdde031461007e5780630df61b8f1461009c57806333417d8e146100bf575b5f80fd5b61008661013b565b6040516100939190612754565b60405180910390f35b6100af6100aa3660046127d1565b6101c7565b6040519015158152602001610093565b6100866100cd366004612810565b6103de565b6100e56100e03660046128f2565b610405565b005b6100fa6100f536600461296e565b6104b1565b604051908152602001610093565b61011b6101163660046129ad565b6104dc565b6040516100939190612aac565b6100fa61013636600461296e565b610cf3565b6002805461014890612aee565b80601f016020809104026020016040519081016040528092919081815260200182805461017490612aee565b80156101bf5780601f10610196576101008083540402835291602001916101bf565b820191905f5260205f20905b8154815290600101906020018083116101a257829003601f168201915b505050505081565b5f600282146101d757505f6103d8565b5f838360018181106101eb576101eb612b26565b90506020028101906101fd9190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509394505050505b81518110156102dd576f7fffffffffffffffffffffffffffffff600f0b82828151811061025f5761025f612b26565b60200260200101511315610277575f925050506103d8565b5f82828151811061028a5761028a612b26565b602002602001015112156102a2575f925050506103d8565b670de0b6b3a76400008282815181106102bd576102bd612b26565b602002602001015113156102d5575f925050506103d8565b600101610230565b505f84845f8181106102f1576102f1612b26565b90506020028101906103039190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061034a915050575f61034d565b60015b60ff1690505f805b83518110156103b55783818151811061037057610370612b26565b60200260200101515f03610386575f92506103b5565b83818151811061039857610398612b26565b6020026020010151826103ab9190612b94565b9150600101610355565b50805f036103c9575f9450505050506103d8565b8161ffff166001149450505050505b92915050565b600381815481106103ed575f80fd5b905f5260205f20015f91509050805461014890612aee565b336001600160a01b03851614806104445750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104955760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104a0848483610d0c565b6104ab848383610d91565b50505050565b6004602052815f5260405f2081815481106104ca575f80fd5b905f5260205f20015f91509150505481565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105565760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161048c565b6105c2604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526105d460018d612bbb565b60208201528467ffffffffffffffff8111156105f2576105f2612842565b60405190808252806020026020018201604052801561061b578160200160208202803683370190505b506101408201525b610140810151518151101561069f578585825f015181811061064757610647612b26565b905060200201602081019061065c9190612bce565b67ffffffffffffffff16816101400151825f01518151811061068057610680612b26565b600f9290920b6020928302919091019091015280516001018152610623565b5f606082015260408101516080820181905267ffffffffffffffff8111156106c9576106c9612842565b6040519080825280602002602001820160405280156106f2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561071557610715612842565b60405190808252806020026020018201604052801561073e578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561076157610761612842565b60405190808252806020026020018201604052801561078a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526107fd93928301828280156107ee57602002820191905f5260205f20905b8154815260200190600101908083116107da575b50505050508260400151610e46565b60a08201819052604080516020808e0282810182019093528d825261084793928f918f9182918501908490808284375f920191909152505050506101408401516040850151611011565b60c0820152604081015161085d90600290612bfb565b1561086e576020810180515f190190525b5f81525b602081015181511015610a7f578060600151156108dd5760a08101518151815181106108a0576108a0612b26565b60200260200101518160e001518260400151835f01516108c09190612c0e565b815181106108d0576108d0612b26565b6020026020010181815250505b60c08101518151815181106108f4576108f4612b26565b60200260200101518160e00151825f01518151811061091557610915612b26565b6020908102919091010152805160010161016082015260608101511561098f578060a001518161016001518151811061095057610950612b26565b60200260200101518160e0015182604001518361016001516109729190612c0e565b8151811061098257610982612b26565b6020026020010181815250505b8060c00151816101600151815181106109aa576109aa612b26565b60200260200101518160e00151826101600151815181106109cd576109cd612b26565b6020026020010181815250508060600151610a6757610a2e8160c00151825f0151815181106109fe576109fe612b26565b60200260200101518260c0015183610160015181518110610a2157610a21612b26565b60200260200101516111e7565b6001600160a01b038a165f90815260016020526040902061018083015181548110610a5b57610a5b612b26565b5f918252602090912001555b61018081018051600101905280516002018152610872565b60028160400151610a909190612bfb565b15610bc75760018160400151610aa69190612bbb565b6101a08201819052600290046020820152606081015115610b1b578060a00151816101a0015181518110610adc57610adc612b26565b60200260200101518160e001518260400151836101a00151610afe9190612c0e565b81518110610b0e57610b0e612b26565b6020026020010181815250505b8060c00151816101a0015181518110610b3657610b36612b26565b60200260200101518160e00151826101a0015181518110610b5957610b59612b26565b6020026020010181815250508060600151610bc757610b8d5f8260c00151836101a0015181518110610a2157610a21612b26565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610bbb57610bbb612b26565b5f918252602090912001555b806060015115610c0c57610bde8160c001516112ff565b6001600160a01b038a165f9081526001602090815260409091208251610c0a93919291909101906126f7565b505b610c3e60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610cb88e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506115f0565b6101208301819052610ce1908f8f67ffffffffffffffff808a16600f90810b918a16900b611cbc565b9e9d5050505050505050505050505050565b6001602052815f5260405f2081815481106104ca575f80fd5b80825103610d4957610d1d826112ff565b6001600160a01b0384165f90815260016020908152604090912082516104ab93919291909101906126f7565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161048c565b80825114610de15760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420696e697469616c2076616c75657300000000000000000000604482015260640161048c565b6001600160a01b0383165f90815260046020526040902054801580610e065750818351145b15610d4957610e14836112ff565b6001600160a01b0385165f9081526004602090815260409091208251610e4093919291909101906126f7565b506104ab565b60608183516002610e579190612c21565b1015610ea55760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161048c565b8167ffffffffffffffff811115610ebe57610ebe612842565b604051908082528060200260200182016040528015610ee7578160200160208202803683370190505b5090505f8060018551610efa9190612bbb565b90505f610f08600286612bfb565b1590505f5b8651811015610fba576080878281518110610f2a57610f2a612b26565b6020026020010151901d858581518110610f4657610f46612b26565b60200260200101818152505083600101935081158015610f6557508281105b80610f6d5750815b15610fae57868181518110610f8457610f84612b26565b6020026020010151600f0b858581518110610fa157610fa1612b26565b6020026020010181815250505b60019384019301610f0d565b508061100857858281518110610fd257610fd2612b26565b6020026020010151600f0b84600187610feb9190612bbb565b81518110610ffb57610ffb612b26565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561102d5761102d612842565b604051908082528060200260200182016040528015611056578160200160208202803683370190505b5090505f845f8151811061106c5761106c612b26565b6020026020010151600f0b90505f81670de0b6b3a764000061108e9190612c38565b9050855160010361113e575f5b85811015611138575f8982815181106110b6576110b6612b26565b60200260200101519050611112670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b6020026020010151611d1390919063ffffffff16565b6111028488611d13565b61110c9190612b94565b90611e1a565b85838151811061112457611124612b26565b60209081029190910101525060010161109b565b506111db565b5f5b858110156111d95786818151811061115a5761115a612b26565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061118757611187612b26565b602002602001015190506111b3670de0b6b3a76400006110f8858c86815181106110e2576110e2612b26565b8583815181106111c5576111c5612b26565b602090810291909101015250600101611140565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061121857506f7fffffffffffffffffffffffffffffff8213155b6112645760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161048c565b6f7fffffffffffffffffffffffffffffff19831280159061129657506f7fffffffffffffffffffffffffffffff198212155b6112e25760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161048c565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113575760405162461bcd60e51b815260040161048c9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113659190612bfb565b5f03611436576002820491508167ffffffffffffffff81111561138a5761138a612842565b6040519080825280602002602001820160405280156113b3578160200160208202803683370190505b5093505f5b6113c3600185612bbb565b811015611430576114058682815181106113df576113df612b26565b6020026020010151878360016113f59190612c0e565b81518110610a2157610a21612b26565b85838151811061141757611417612b26565b60209081029190910101526001909101906002016113b8565b506115e8565b5f85600187516114469190612bbb565b8151811061145657611456612b26565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561149457506f7fffffffffffffffffffffffffffffff8113155b6114e05760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161048c565b60025f1984010460010192508267ffffffffffffffff81111561150557611505612842565b60405190808252806020026020018201604052801561152e578160200160208202803683370190505b5094505f61153d600286612bbb565b90505f5b8181101561159f5761157488828151811061155e5761155e612b26565b6020026020010151898360016113f59190612c0e565b87858151811061158657611586612b26565b6020908102919091010152600190930192600201611541565b50866115ac600187612bbb565b815181106115bc576115bc612b26565b6020026020010151600f0b8684815181106115d9576115d9612b26565b60200260200101818152505050505b505050919050565b606061163460405180610100016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b84845f81811061164657611646612b26565b90506020028101906116589190612b3a565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525093855250505060208401889052858560018181106116a4576116a4612b26565b90506020028101906116b69190612b3a565b905067ffffffffffffffff8111156116d0576116d0612842565b6040519080825280602002602001820160405280156116f9578160200160208202803683370190505b5090505b805182608001511015611783578585600181811061171d5761171d612b26565b905060200281019061172f9190612b3a565b836080015181811061174357611743612b26565b905060200201358183608001518151811061176057611760612b26565b600f9290920b6020928302919091019091015260808201805160010190526116fd565b83516001600160a01b03165f90815260046020908152604080832080548251818502810185019093528083526117ef938301828280156117e057602002820191905f5260205f20905b8154815260200190600101908083116117cc575b50505050508660200151610e46565b90505f611802828a858960200151611011565b905061180d816112ff565b86516001600160a01b03165f908152600460209081526040909120825161183a93919291909101906126f7565b50606084018a90528967ffffffffffffffff81111561185b5761185b612842565b604051908082528060200260200182016040528015611884578160200160208202803683370190505b5060208501525f60808501525b836060015184608001511015611a535785606001518460800151815181106118bb576118bb612b26565b6020026020010151818560800151815181106118d9576118d9612b26565b60200260200101516118eb9190612c38565b846020015185608001518151811061190557611905612b26565b602002602001018181525050856060015184608001518151811061192b5761192b612b26565b60200260200101518460a0018181525050611986846020015185608001518151811061195957611959612b26565b60200260200101516119808660a00151670de0b6b3a7640000611e1a90919063ffffffff16565b90611d13565b84602001518560800151815181106119a0576119a0612b26565b60209081029190910101528351516001036119f05783602001518460800151815181106119cf576119cf612b26565b6020026020010151846040018181516119e89190612b94565b905250611a43565b611a2e845f0151856080015181518110611a0c57611a0c612b26565b602002602001015185602001518660800151815181106110e2576110e2612b26565b84604001818151611a3f9190612b94565b9052505b6080840180516001019052611891565b836060015167ffffffffffffffff811115611a7057611a70612842565b604051908082528060200260200182016040528015611a99578160200160208202803683370190505b50845151909550600103611b7f57836060015184604001818151611abd9190612c5e565b9052505f60808501525b836060015184608001511015611b7a575f611b1e85604001518660200151876080015181518110611afa57611afa612b26565b6020026020010151611b0c9190612c38565b865180515f906110e2576110e2612b26565b8c8c8760800151818110611b3457611b34612b26565b90506020020135611b459190612b94565b90508086866080015181518110611b5e57611b5e612b26565b6020908102919091010152506080840180516001019052611ac7565b611cae565b5f60808501525b83515160808501511015611bd7578351608085015181518110611bab57611bab612b26565b60200260200101518460c001818151611bc49190612b94565b9052506080840180516001019052611b86565b60c08401516040850151611bea91611e1a565b60408501525f60808501525b60808401518a1115611cae57611c4d84604001518560200151866080015181518110611c2457611c24612b26565b6020026020010151611c369190612c38565b85516080870151815181106110e2576110e2612b26565b8b8b8660800151818110611c6357611c63612b26565b90506020020135611c749190612b94565b60e08501819052608085015186518791908110611c9357611c93612b26565b60209081029190910101526080840180516001019052611bf6565b505050509695505050505050565b6060611cc88683611f23565b9550611d098585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506120ac9050565b9695505050505050565b5f600160ff1b831480611d295750600160ff1b82145b15611d60576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d6f5784611d73565b845f035b91505f8412611d825783611d86565b835f035b90505f611d93838361245f565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611df2576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611e0a5782611e0e565b825f035b98975050505050505050565b5f600160ff1b831480611e305750600160ff1b82145b15611e67576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611e765784611e7a565b845f035b91505f8412611e895783611e8d565b835f035b90505f611ea383670de0b6b3a764000084612554565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f02576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f19808713908613808218600114611f1a5782611e0e565b611e0e83612c8a565b81516060906001819003611f3a57839150506103d8565b5f8390505f611f50856119806001895103612635565b670de0b6b3a764000090810391505f805b858110156120225784898281518110611f7c57611f7c612b26565b60200260200101511215611fb35784898281518110611f9d57611f9d612b26565b602002602001018181525050848303925061201a565b83898281518110611fc657611fc6612b26565b60200260200101511315611ffb5783898281518110611fe757611fe7612b26565b60209081029190910101529083019061201a565b88818151811061200d5761200d612b26565b6020026020010151820191505b600101611f61565b5080156120a0575f6120348383611e1a565b90505f5b8681101561209d57858a828151811061205357612053612b26565b60200260200101511461209557612076828b83815181106110e2576110e2612b26565b8a828151811061208857612088612b26565b6020026020010181815250505b600101612038565b50505b50959695505050505050565b6060815f5b855181101561217e575f8582815181106120cd576120cd612b26565b60200260200101518783815181106120e7576120e7612b26565b602002602001015113156121315785828151811061210757612107612b26565b602002602001015187838151811061212157612121612b26565b6020026020010151039050612169565b86828151811061214357612143612b26565b602002602001015186838151811061215d5761215d612b26565b60200260200101510390505b82811315612175578092505b506001016120b1565b505f805f805f878613156122e2575f6121978988611e1a565b90505f5b8a518110156122db575f6121ec838e84815181106121bb576121bb612b26565b60200260200101518e85815181106121d5576121d5612b26565b602002602001015103611d1390919063ffffffff16565b9050808d838151811061220157612201612b26565b6020026020010151018c838151811061221c5761221c612b26565b6020026020010181815250508b828151811061223a5761223a612b26565b602002602001015188019750858c838151811061225957612259612b26565b60200260200101511315612291578593508694508b828151811061227f5761227f612b26565b602002602001015195508196506122d2565b838c83815181106122a4576122a4612b26565b602002602001015113156122d2578b82815181106122c4576122c4612b26565b602002602001015193508194505b5060010161219b565b50506123a1565b5f5b895181101561239f578981815181106122ff576122ff612b26565b602002602001015186019550838a828151811061231e5761231e612b26565b602002602001015113156123565783915084925089818151811061234457612344612b26565b60200260200101519350809450612397565b818a828151811061236957612369612b26565b602002602001015113156123975789818151811061238957612389612b26565b602002602001015191508092505b6001016122e4565b505b670de0b6b3a7640000851461244e57670de0b6b3a764000085131561240957670de0b6b3a764000085038985815181106123dd576123dd612b26565b6020026020010151038985815181106123f8576123f8612b26565b60200260200101818152505061244e565b84670de0b6b3a76400000389838151811061242657612426612b26565b60200260200101510189838151811061244157612441612b26565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106124ba576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161048c565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036124f65780670de0b6b3a76400008504019450505050506103d8565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361258b5783828161258157612581612be7565b0492505050612458565b8381106125ce576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161048c565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612693576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156126e9576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161048c565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612730579160200282015b82811115612730578251825591602001919060010190612715565b5061273c929150612740565b5090565b5b8082111561273c575f8155600101612741565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612799575f80fd5b50813567ffffffffffffffff8111156127b0575f80fd5b6020830191508360208260051b85010111156127ca575f80fd5b9250929050565b5f80602083850312156127e2575f80fd5b823567ffffffffffffffff8111156127f8575f80fd5b61280485828601612789565b90969095509350505050565b5f60208284031215612820575f80fd5b5035919050565b80356001600160a01b038116811461283d575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612865575f80fd5b813567ffffffffffffffff81111561287f5761287f612842565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156128ac576128ac612842565b6040529182526020818501810192908101868411156128c9575f80fd5b6020860192505b838310156128e85782358152602092830192016128d0565b5095945050505050565b5f805f8060808587031215612905575f80fd5b61290e85612827565b9350602085013567ffffffffffffffff811115612929575f80fd5b61293587828801612856565b935050604085013567ffffffffffffffff811115612951575f80fd5b61295d87828801612856565b949793965093946060013593505050565b5f806040838503121561297f575f80fd5b61298883612827565b946020939093013593505050565b803567ffffffffffffffff8116811461283d575f80fd5b5f805f805f805f805f805f60e08c8e0312156129c7575f80fd5b8b3567ffffffffffffffff8111156129dd575f80fd5b6129e98e828f01612789565b909c509a505060208c013567ffffffffffffffff811115612a08575f80fd5b612a148e828f01612789565b909a509850612a27905060408d01612827565b965060608c013567ffffffffffffffff811115612a42575f80fd5b612a4e8e828f01612789565b90975095505060808c013567ffffffffffffffff811115612a6d575f80fd5b612a798e828f01612789565b9095509350612a8c905060a08d01612996565b9150612a9a60c08d01612996565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015612ae3578351835260209384019390920191600101612ac5565b509095945050505050565b600181811c90821680612b0257607f821691505b602082108103612b2057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112612b4f575f80fd5b83018035915067ffffffffffffffff821115612b69575f80fd5b6020019150600581901b36038213156127ca575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715612bb357612bb3612b80565b505092915050565b818103818111156103d8576103d8612b80565b5f60208284031215612bde575f80fd5b61245882612996565b634e487b7160e01b5f52601260045260245ffd5b5f82612c0957612c09612be7565b500690565b808201808211156103d8576103d8612b80565b80820281158282048414176103d8576103d8612b80565b8181035f831280158383131683831282161715612c5757612c57612b80565b5092915050565b5f82612c6c57612c6c612be7565b600160ff1b82145f1984141615612c8557612c85612b80565b500590565b5f600160ff1b8203612c9e57612c9e612b80565b505f039056fea2646970667358221220761bbf63d1ba8e4b927352f2e8da2c54d5d151c3ba7369583d36db7ebb476e6d64736f6c634300081a00334c616d626461204c6f6e673a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f7220746865206c6f6e672d6d656d6f7279206d6f76696e6720617665726167654c616d6264612053686f72743a2054686973204c616d62646120646963746174657320707269636520736d6f6f7468696e6720666f72207468652073686f72742d6d656d6f7279206d6f76696e6720617665726167654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202845574d415f73686f7274202d2045574d415f6c6f6e6729202f2045574d415f6c6f6e6729000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionType": "CREATE", - "contractName": "ChannelFollowingUpdateRule", - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5c9ad4", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b50604051614e16380380614e1683398101604081905261002e91610340565b6001600160a01b03811660805260408051808201909152601081526f4368616e6e656c466f6c6c6f77696e6760801b602082015260029061006f9082610405565b50604080516007808252610100820190925290816020015b606081526020019060019003908161008757505080516100af91600391602090910190610282565b50604051806080016040528060488152602001614c666048913960035f815481106100dc576100dc6104bf565b905f5260205f200190816100f09190610405565b50604051806060016040528060368152602001614c3060369139600360018154811061011e5761011e6104bf565b905f5260205f200190816101329190610405565b50604051806060016040528060328152602001614daf603291396003600281548110610160576101606104bf565b905f5260205f200190816101749190610405565b50604051806060016040528060358152602001614de160359139600380815481106101a1576101a16104bf565b905f5260205f200190816101b59190610405565b506040518060e0016040528060ac8152602001614cae60ac913960036004815481106101e3576101e36104bf565b905f5260205f200190816101f79190610405565b50604051806080016040528060558152602001614d5a605591396003600581548110610225576102256104bf565b905f5260205f200190816102399190610405565b506040518060800160405280605b8152602001614bd5605b91396003600681548110610267576102676104bf565b905f5260205f2001908161027b9190610405565b50506104d3565b828054828255905f5260205f209081019282156102c6579160200282015b828111156102c657825182906102b69082610405565b50916020019190600101906102a0565b506102d29291506102d6565b5090565b808211156102d2575f6102e982826102f2565b506001016102d6565b5080546102fe90610381565b5f825580601f1061030d575050565b601f0160209004905f5260205f2090810190610329919061032c565b50565b5b808211156102d2575f815560010161032d565b5f60208284031215610350575f80fd5b81516001600160a01b0381168114610366575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061039557607f821691505b6020821081036103b357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561040057805f5260205f20601f840160051c810160208510156103de5750805b601f840160051c820191505b818110156103fd575f81556001016103ea565b50505b505050565b81516001600160401b0381111561041e5761041e61036d565b6104328161042c8454610381565b846103b9565b6020601f821160018114610464575f831561044d5750848201515b5f19600385901b1c1916600184901b1784556103fd565b5f84815260208120601f198516915b828110156104935787850151825560209485019460019092019101610473565b50848210156104b057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516146e36104f25f395f818161053b01526105d701526146e35ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b604051610088919061413a565b60405180910390f35b6100a461009f3660046141b7565b6101a9565b6040519015158152602001610088565b61007b6100c23660046141f6565b6104f7565b6100da6100d53660046142d3565b61051e565b005b6100ef6100ea366004614366565b6105ca565b6040516100889190614465565b61010f61010a3660046144a7565b610de1565b604051908152602001610088565b6002805461012a906144cf565b80601f0160208091040260200160405190810160405280929190818152602001828054610156906144cf565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f600782146101b957505f6104f1565b5f83835f8181106101cc576101cc614507565b90506020028101906101de919061451b565b90509050805f036101f2575f9150506104f1565b60015b600681101561023c578185858381811061021157610211614507565b9050602002810190610223919061451b565b905014610234575f925050506104f1565b6001016101f5565b505f5b81811015610416575f85855f81811061025a5761025a614507565b905060200281019061026c919061451b565b8381811061027c5761027c614507565b9050602002013513610292575f925050506104f1565b5f858560018181106102a6576102a6614507565b90506020028101906102b8919061451b565b838181106102c8576102c8614507565b90506020020135136102de575f925050506104f1565b5f858560028181106102f2576102f2614507565b9050602002810190610304919061451b565b8381811061031457610314614507565b905060200201351361032a575f925050506104f1565b5f8585600381811061033e5761033e614507565b9050602002810190610350919061451b565b8381811061036057610360614507565b9050602002013513610376575f925050506104f1565b5f8585600481811061038a5761038a614507565b905060200281019061039c919061451b565b838181106103ac576103ac614507565b90506020020135136103c2575f925050506104f1565b5f858560058181106103d6576103d6614507565b90506020028101906103e8919061451b565b838181106103f8576103f8614507565b905060200201351361040e575f925050506104f1565b60010161023f565b508383600681811061042a5761042a614507565b905060200281019061043c919061451b565b905060011461044e575f9150506104f1565b8383600681811061046157610461614507565b9050602002810190610473919061451b565b5f81811061048357610483614507565b905060200201355f141580156104dd575061049e6001610e0c565b848460068181106104b1576104b1614507565b90506020028101906104c3919061451b565b5f8181106104d3576104d3614507565b9050602002013514155b156104eb575f9150506104f1565b60019150505b92915050565b60038181548110610506575f80fd5b905f5260205f20015f91509050805461012a906144cf565b336001600160a01b038516148061055d5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105ae5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6105b9848483610ece565b6105c4848383610f58565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c4300000000000000000000000000000000000000000060448201526064016105a5565b6106b0604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c90526106c260018d614575565b60208201528467ffffffffffffffff8111156106e0576106e0614223565b604051908082528060200260200182016040528015610709578160200160208202803683370190505b506101408201525b610140810151518151101561078d578585825f015181811061073557610735614507565b905060200201602081019061074a9190614588565b67ffffffffffffffff16816101400151825f01518151811061076e5761076e614507565b600f9290920b6020928302919091019091015280516001018152610711565b5f606082015260408101516080820181905267ffffffffffffffff8111156107b7576107b7614223565b6040519080825280602002602001820160405280156107e0578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561080357610803614223565b60405190808252806020026020018201604052801561082c578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561084f5761084f614223565b604051908082528060200260200182016040528015610878578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108eb93928301828280156108dc57602002820191905f5260205f20905b8154815260200190600101908083116108c8575b50505050508260400151610f63565b60a08201819052604080516020808e0282810182019093528d825261093593928f918f9182918501908490808284375f92019190915250505050610140840151604085015161112e565b60c0820152604081015161094b906002906145b5565b1561095c576020810180515f190190525b5f81525b602081015181511015610b6d578060600151156109cb5760a081015181518151811061098e5761098e614507565b60200260200101518160e001518260400151835f01516109ae91906145c8565b815181106109be576109be614507565b6020026020010181815250505b60c08101518151815181106109e2576109e2614507565b60200260200101518160e00151825f015181518110610a0357610a03614507565b60209081029190910101528051600101610160820152606081015115610a7d578060a0015181610160015181518110610a3e57610a3e614507565b60200260200101518160e001518260400151836101600151610a6091906145c8565b81518110610a7057610a70614507565b6020026020010181815250505b8060c0015181610160015181518110610a9857610a98614507565b60200260200101518160e0015182610160015181518110610abb57610abb614507565b6020026020010181815250508060600151610b5557610b1c8160c00151825f015181518110610aec57610aec614507565b60200260200101518260c0015183610160015181518110610b0f57610b0f614507565b6020026020010151611304565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b4957610b49614507565b5f918252602090912001555b61018081018051600101905280516002018152610960565b60028160400151610b7e91906145b5565b15610cb55760018160400151610b949190614575565b6101a08201819052600290046020820152606081015115610c09578060a00151816101a0015181518110610bca57610bca614507565b60200260200101518160e001518260400151836101a00151610bec91906145c8565b81518110610bfc57610bfc614507565b6020026020010181815250505b8060c00151816101a0015181518110610c2457610c24614507565b60200260200101518160e00151826101a0015181518110610c4757610c47614507565b6020026020010181815250508060600151610cb557610c7b5f8260c00151836101a0015181518110610b0f57610b0f614507565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610ca957610ca9614507565b5f918252602090912001555b806060015115610cfa57610ccc8160c0015161141c565b6001600160a01b038a165f9081526001602090815260409091208251610cf893919291909101906140dd565b505b610d2c60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610da68e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061170d565b6101208301819052610dcf908f8f67ffffffffffffffff808a16600f90810b918a16900b61238b565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dfa575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e6a576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610ec0576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b50670de0b6b3a76400000290565b80825103610f0b57610edf8261141c565b6001600160a01b0384165f90815260016020908152604090912082516105c493919291909101906140dd565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e67206176670000000000000000000060448201526064016105a5565b505050565b610f538383836123e2565b60608183516002610f7491906145db565b1015610fc25760405162461bcd60e51b815260206004820152600860248201527f535243213d54475400000000000000000000000000000000000000000000000060448201526064016105a5565b8167ffffffffffffffff811115610fdb57610fdb614223565b604051908082528060200260200182016040528015611004578160200160208202803683370190505b5090505f80600185516110179190614575565b90505f6110256002866145b5565b1590505f5b86518110156110d757608087828151811061104757611047614507565b6020026020010151901d85858151811061106357611063614507565b6020026020010181815250508360010193508115801561108257508281105b8061108a5750815b156110cb578681815181106110a1576110a1614507565b6020026020010151600f0b8585815181106110be576110be614507565b6020026020010181815250505b6001938401930161102a565b5080611125578582815181106110ef576110ef614507565b6020026020010151600f0b846001876111089190614575565b8151811061111857611118614507565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561114a5761114a614223565b604051908082528060200260200182016040528015611173578160200160208202803683370190505b5090505f845f8151811061118957611189614507565b6020026020010151600f0b90505f81670de0b6b3a76400006111ab91906145f2565b9050855160010361125b575f5b85811015611255575f8982815181106111d3576111d3614507565b6020026020010151905061122f670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b60200260200101516124f390919063ffffffff16565b61121f84886124f3565b6112299190614618565b906125fa565b85838151811061124157611241614507565b6020908102919091010152506001016111b8565b506112f8565b5f5b858110156112f65786818151811061127757611277614507565b6020026020010151600f0b925082670de0b6b3a76400000391505f8982815181106112a4576112a4614507565b602002602001015190506112d0670de0b6b3a7640000611215858c86815181106111ff576111ff614507565b8583815181106112e2576112e2614507565b60209081029190910101525060010161125d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061133557506f7fffffffffffffffffffffffffffffff8213155b6113815760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f7700000000000000000000000000000000000000000000000060448201526064016105a5565b6f7fffffffffffffffffffffffffffffff1983128015906113b357506f7fffffffffffffffffffffffffffffff198212155b6113ff5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f77000000000000000000000000000000000000000000000060448201526064016105a5565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036114745760405162461bcd60e51b81526004016105a59060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161148291906145b5565b5f03611553576002820491508167ffffffffffffffff8111156114a7576114a7614223565b6040519080825280602002602001820160405280156114d0578160200160208202803683370190505b5093505f5b6114e0600185614575565b81101561154d576115228682815181106114fc576114fc614507565b60200260200101518783600161151291906145c8565b81518110610b0f57610b0f614507565b85838151811061153457611534614507565b60209081029190910101526001909101906002016114d5565b50611705565b5f85600187516115639190614575565b8151811061157357611573614507565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156115b157506f7fffffffffffffffffffffffffffffff8113155b6115fd5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f77000000000060448201526064016105a5565b60025f1984010460010192508267ffffffffffffffff81111561162257611622614223565b60405190808252806020026020018201604052801561164b578160200160208202803683370190505b5094505f61165a600286614575565b90505f5b818110156116bc5761169188828151811061167b5761167b614507565b60200260200101518983600161151291906145c8565b8785815181106116a3576116a3614507565b602090810291909101015260019093019260020161165e565b50866116c9600187614575565b815181106116d9576116d9614507565b6020026020010151600f0b8684815181106116f6576116f6614507565b60200260200101818152505050505b505050919050565b606061177d604051806101c0016040528060608152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f81526020015f81525090565b84845f81811061178f5761178f614507565b90506020028101906117a1919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250505090825250848460018181106117e7576117e7614507565b90506020028101906117f9919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060208201528484600281811061184157611841614507565b9050602002810190611853919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060408201528484600381811061189b5761189b614507565b90506020028101906118ad919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505050506060820152848460048181106118f5576118f5614507565b9050602002810190611907919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060808201528484600581811061194f5761194f614507565b9050602002810190611961919061451b565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050505060a0820152602083018790526101208101879052670de0b6b3a7640000858560068181106119c1576119c1614507565b90506020028101906119d3919061451b565b5f8181106119e3576119e3614507565b60200291909101359190911461014083015250611a008684612703565b60c08201525f6101608201525b8061012001518161016001511015611b0457826060015181610160015181518110611a3a57611a3a614507565b60200260200101518161018001818152505080610140015115611a81578581610160015181518110611a6e57611a6e614507565b6020026020010151816101800181815250505b611acd8160c0015182610160015181518110611a9f57611a9f614507565b6020026020010151611ac7836101800151670de0b6b3a76400006125fa90919063ffffffff16565b906124f3565b8160c0015182610160015181518110611ae857611ae8614507565b6020908102919091010152610160810180516001019052611a0d565b80610120015167ffffffffffffffff811115611b2257611b22614223565b604051908082528060200260200182016040528015611b4b578160200160208202803683370190505b5060e08201525f6101608201525b806101200151816101600151101561210e575f611bad8260c0015183610160015181518110611b8a57611b8a614507565b60200260200101518360c00151846101600151815181106111ff576111ff614507565b90505f805f80855f015151600103611de0575f611bf787602001515f81518110611bd957611bd9614507565b602002602001015188602001515f815181106111ff576111ff614507565b9050611c15611c0e82671bc16d674ec800006124f3565b87906125fa565b611c1e9061463f565b9250611c2983612f08565b91505f611c8e611c516729a2241af62c00008a602001515f815181106111ff576111ff614507565b6112298a60c001518b610160015181518110611c6f57611c6f614507565b6020026020010151672b992ddfa23249d66124f390919063ffffffff16565b9050611cfb88608001515f81518110611ca957611ca9614507565b6020026020010151611229611cd76753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ce190856145f2565b611ac7878d604001515f815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611d1a57611d1a614507565b60200260200101511215611d59578860c0015189610160015181518110611d4357611d43614507565b6020026020010151611d549061463f565b611d7d565b8860c0015189610160015181518110611d7457611d74614507565b60200260200101515b90505f611dac611da5671bc16d674ec800008c60a001515f815181106111ff576111ff614507565b83906125fa565b9050611dd5818b606001515f81518110611dc857611dc8614507565b6020026020010151612f96565b975050505050611fcc565b5f611e22876020015188610160015181518110611dff57611dff614507565b60200260200101518860200151896101600151815181106111ff576111ff614507565b9050611e51611e43611e3c83671bc16d674ec800006124f3565b88906125fa565b611e4c9061463f565b612f08565b91505f611e7e611c516729a2241af62c00008a602001518b6101600151815181106111ff576111ff614507565b9050611ef5886080015189610160015181518110611e9e57611e9e614507565b6020026020010151611229611ecc6753444835ec58000061122986611ac788896124f390919063ffffffff16565b611ed690856145f2565b611ac7878d604001518e6101600151815181106111ff576111ff614507565b94505f808960c001518a610160015181518110611f1457611f14614507565b60200260200101511215611f53578860c0015189610160015181518110611f3d57611f3d614507565b6020026020010151611f4e9061463f565b611f77565b8860c0015189610160015181518110611f6e57611f6e614507565b60200260200101515b90505f611fa4611da5671bc16d674ec800008c60a001518d6101600151815181106111ff576111ff614507565b9050611fc5818b606001518c610160015181518110611dc857611dc8614507565b9750505050505b611fd58361463f565b92505f8660c0015187610160015181518110611ff357611ff3614507565b6020026020010151121561200d5761200a8461463f565b93505b61202961202282670de0b6b3a76400006145f2565b85906124f3565b93506120358484614618565b8660e001518761016001518151811061205057612050614507565b60209081029190910101528551516001036120a2578560e001518661016001518151811061208057612080614507565b6020026020010151866101000181815161209a9190614618565b9052506120f8565b6120e2865f0151876101600151815181106120bf576120bf614507565b60200260200101518760e00151886101600151815181106111ff576111ff614507565b86610100018181516120f49190614618565b9052505b5050505061016082018051600101905250611b59565b80610120015167ffffffffffffffff81111561212c5761212c614223565b604051908082528060200260200182016040528015612155578160200160208202803683370190505b5081515190925060010361224057806101200151816101000181815161217b9190614659565b9052505f6101608201525b806101200151816101600151101561223b576121e08161010001518260e00151836101600151815181106121bc576121bc614507565b60200260200101516121ce91906145f2565b825180515f906111ff576111ff614507565b88888361016001518181106121f7576121f7614507565b905060200201356122089190614618565b828261016001518151811061221f5761221f614507565b6020908102919091010152610160810180516001019052612186565b612380565b5f6101608201525b805151610160820151101561229d5780516101608201518151811061226f5761226f614507565b6020026020010151816101a0018181516122899190614618565b905250610160810180516001019052612248565b6101a08101516101008201516122b2916125fa565b6101008201525f6101608201525b8061012001518161016001511015612380575f6123218261010001518360e00151846101600151815181106122f7576122f7614507565b602002602001015161230991906145f2565b8351610160850151815181106111ff576111ff614507565b905080898984610160015181811061233b5761233b614507565b9050602002013561234c9190614618565b838361016001518151811061236357612363614507565b6020908102919091010152506101608101805160010190526122c0565b509695505050505050565b60606123978683612fe8565b95506123d88585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506131719050565b9695505050505050565b6001600160a01b0383165f9081526020819052604090205482518214801561246d575080158061243457506002835161241b91906145b5565b158015612434575080600284516124329190614685565b145b8061246d57506002835161244891906145b5565b1580159061246d575080600284516124609190614685565b61246b9060016145c8565b145b156124ab5761247b8361141c565b6001600160a01b0385165f9081526020818152604090912082516124a593919291909101906140dd565b506105c4565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e7400000000000000000000000060448201526064016105a5565b5f600160ff1b8314806125095750600160ff1b82145b15612540576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f851261254f5784612553565b845f035b91505f84126125625783612566565b835f035b90505f6125738383613521565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156125d2576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146125ea57826125ee565b825f035b98975050505050505050565b5f600160ff1b8314806126105750600160ff1b82145b15612647576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612656578461265a565b845f035b91505f8412612669578361266d565b835f035b90505f61268383670de0b6b3a764000084613616565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156126e2576040517f7cb4bef5000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f198087139086138082186001146126fa57826125ee565b6125ee8361463f565b60606127406040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff81111561275d5761275d614223565b604051908082528060200260200182016040528015612786578160200160208202803683370190505b5060a082015282516001600160a01b03165f908152602081815260409182902080548351818402810184019094528084526127f893928301828280156127e957602002820191905f5260205f20905b8154815260200190600101908083116127d5575b50505050508460200151610f63565b60c082015260208301515f90612810906002906145b5565b5f141590505f600185602001516128279190614575565b90505f85604001515f8151811061284057612840614507565b6020026020010151600f0b90505f81670de0b6b3a764000061286291906145f2565b9050866040015151600103612b945761288782611229836729a2241af62c00006136f7565b85528315612896575f19909201915b5f5b83811015612a95576128e682896060015183815181106128ba576128ba614507565b60200260200101518b84815181106128d4576128d4614507565b602002602001015161122991906145f2565b6129168760c0015183815181106128ff576128ff614507565b6020026020010151856124f390919063ffffffff16565b6129209190614618565b6020870181905260c087015180518390811061293e5761293e614507565b602090810291909101810191909152860151865161295b916124f3565b8660a00151828151811061297157612971614507565b602090810291909101015260018101606080880182905289015180516129c09285929181106129a2576129a2614507565b60200260200101518b8960600151815181106128d4576128d4614507565b6129dd8760c001518860600151815181106128ff576128ff614507565b6129e79190614618565b6040870181905286516129f9916124f3565b8660a00151876060015181518110612a1357612a13614507565b602002602001018181525050612a4a8660c001518281518110612a3857612a38614507565b60200260200101518760400151611304565b88516001600160a01b03165f908152602081905260409020608088015181548110612a7757612a77614507565b5f918252602090912001556080860180516001019052600201612898565b508315612b8f57826001019250612ad68188606001518581518110612abc57612abc614507565b60200260200101518a86815181106128d4576128d4614507565b612b068660c001518581518110612aef57612aef614507565b6020026020010151846124f390919063ffffffff16565b612b109190614618565b60208601819052612b22905f90611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612b4f57612b4f614507565b5f91825260209182902001919091558501518551612b6c916124f3565b8560a001518481518110612b8257612b82614507565b6020026020010181815250505b612ef9565b8315612ba657612ba383614698565b92505b5f5b83811015612de05787604001518181518110612bc657612bc6614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612bff836112296729a2241af62c0000856136f790919063ffffffff16565b865260608801518051612c1e918491849081106128ba576128ba614507565b612c378760c0015183815181106128ff576128ff614507565b612c419190614618565b6020870181905260c0870151805183908110612c5f57612c5f614507565b6020908102919091018101919091528601518651612c7c916124f3565b8660a001518281518110612c9257612c92614507565b60209081029190910101526001810160608701819052604089015180519091908110612cc057612cc0614507565b6020026020010151600f0b925082670de0b6b3a7640000039150612cf9836112296729a2241af62c0000856136f790919063ffffffff16565b8652606080890151908701518151612d1d928592909181106129a2576129a2614507565b612d3a8760c001518860600151815181106128ff576128ff614507565b612d449190614618565b604087018190528651612d56916124f3565b8660a00151876060015181518110612d7057612d70614507565b602002602001018181525050612d958660c001518281518110612a3857612a38614507565b88516001600160a01b03165f908152602081905260409020608088015181548110612dc257612dc2614507565b5f918252602090912001556080860180516001019052600201612ba8565b508315612ef95782600101925086604001518381518110612e0357612e03614507565b6020026020010151600f0b915081670de0b6b3a7640000039050612e3c826112296729a2241af62c0000846136f790919063ffffffff16565b855260608701518051612e5b91839186908110612abc57612abc614507565b612e748660c001518581518110612aef57612aef614507565b612e7e9190614618565b602086018190528551612e90916124f3565b8560a001518481518110612ea657612ea6614507565b602002602001018181525050612ec05f8660200151611304565b87516001600160a01b03165f908152602081905260409020608087015181548110612eed57612eed614507565b5f918252602090912001555b5050505060a001519392505050565b5f68023f2fa8f6da5b9d3119821215612f2257505f919050565b680736ea4425c11ac6318212612f67576040517f99bb7541000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b6714057b7ef767814f8202612f8f670de0b6b3a76400006706f05b59d3b20000830105613731565b9392505050565b5f811580612fab575082158015612fab575081155b15612fbf5750670de0b6b3a76400006104f1565b825f03612fcd57505f6104f1565b612f8f612fe3612fdc856137e4565b84906124f3565b613731565b81516060906001819003612fff57839150506104f1565b5f8390505f61301585611ac76001895103610e0c565b670de0b6b3a764000090810391505f805b858110156130e7578489828151811061304157613041614507565b60200260200101511215613078578489828151811061306257613062614507565b60200260200101818152505084830392506130df565b8389828151811061308b5761308b614507565b602002602001015113156130c057838982815181106130ac576130ac614507565b6020908102919091010152908301906130df565b8881815181106130d2576130d2614507565b6020026020010151820191505b600101613026565b508015613165575f6130f983836125fa565b90505f5b8681101561316257858a828151811061311857613118614507565b60200260200101511461315a5761313b828b83815181106111ff576111ff614507565b8a828151811061314d5761314d614507565b6020026020010181815250505b6001016130fd565b50505b50959695505050505050565b6060815f5b8551811015613243575f85828151811061319257613192614507565b60200260200101518783815181106131ac576131ac614507565b602002602001015113156131f6578582815181106131cc576131cc614507565b60200260200101518783815181106131e6576131e6614507565b602002602001015103905061322e565b86828151811061320857613208614507565b602002602001015186838151811061322257613222614507565b60200260200101510390505b8281131561323a578092505b50600101613176565b505f805f805f878613156133a7575f61325c89886125fa565b90505f5b8a518110156133a0575f6132b1838e848151811061328057613280614507565b60200260200101518e858151811061329a5761329a614507565b6020026020010151036124f390919063ffffffff16565b9050808d83815181106132c6576132c6614507565b6020026020010151018c83815181106132e1576132e1614507565b6020026020010181815250508b82815181106132ff576132ff614507565b602002602001015188019750858c838151811061331e5761331e614507565b60200260200101511315613356578593508694508b828151811061334457613344614507565b60200260200101519550819650613397565b838c838151811061336957613369614507565b60200260200101511315613397578b828151811061338957613389614507565b602002602001015193508194505b50600101613260565b5050613466565b5f5b8951811015613464578981815181106133c4576133c4614507565b602002602001015186019550838a82815181106133e3576133e3614507565b6020026020010151131561341b5783915084925089818151811061340957613409614507565b6020026020010151935080945061345c565b818a828151811061342e5761342e614507565b6020026020010151131561345c5789818151811061344e5761344e614507565b602002602001015191508092505b6001016133a9565b505b670de0b6b3a7640000851461351357670de0b6b3a76400008513156134ce57670de0b6b3a764000085038985815181106134a2576134a2614507565b6020026020010151038985815181106134bd576134bd614507565b602002602001018181525050613513565b84670de0b6b3a7640000038983815181106134eb576134eb614507565b60200260200101510189838151811061350657613506614507565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a7640000811061357c576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016105a5565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036135b85780670de0b6b3a76400008504019450505050506104f1565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f0361364d57838281613643576136436145a1565b0492505050612f8f565b838110613690576040517f773cc18c00000000000000000000000000000000000000000000000000000000815260048101829052602481018590526044016105a5565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361371c57811561370b575f613715565b670de0b6b3a76400005b90506104f1565b612f8f612fe361372b856137e4565b846124f3565b5f808212156137825768033dd1780914b971141982121561375357505f919050565b61375e825f03613731565b6ec097ce7bc90715b34b9f10000000008161377b5761377b6145a1565b0592915050565b680a688906bd8b00000082126137c7576040517fe69458f9000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b670de0b6b3a7640000604083901b04612f8f816138dd565b919050565b5f808213613821576040517f613f4fba000000000000000000000000000000000000000000000000000000008152600481018390526024016105a5565b5f670de0b6b3a7640000831261383957506001613852565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613866670de0b6b3a76400008505613fed565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161389057505002919050565b6706f05b59d3b200005b5f8113156138d457670de0b6b3a7640000828002059150671bc16d674ec8000082126138cc579384019360019190911d905b60011d61389a565b50505002919050565b778000000000000000000000000000000000000000000000006780000000000000008216156139155768016a09e667f3bcc9090260401c5b674000000000000000821615613934576801306fe0a31b7152df0260401c5b672000000000000000821615613953576801172b83c7d517adce0260401c5b6710000000000000008216156139725768010b5586cf9890f62a0260401c5b670800000000000000821615613991576801059b0d31585743ae0260401c5b6704000000000000008216156139b057680102c9a3e778060ee70260401c5b6702000000000000008216156139cf5768010163da9fb33356d80260401c5b6701000000000000008216156139ee57680100b1afa5abcbed610260401c5b6680000000000000821615613a0c5768010058c86da1c09ea20260401c5b6640000000000000821615613a2a576801002c605e2e8cec500260401c5b6620000000000000821615613a4857680100162f3904051fa10260401c5b6610000000000000821615613a66576801000b175effdc76ba0260401c5b6608000000000000821615613a8457680100058ba01fb9f96d0260401c5b6604000000000000821615613aa25768010002c5cc37da94920260401c5b6602000000000000821615613ac0576801000162e525ee05470260401c5b6601000000000000821615613ade5768010000b17255775c040260401c5b65800000000000821615613afb576801000058b91b5bc9ae0260401c5b65400000000000821615613b1857680100002c5c89d5ec6d0260401c5b65200000000000821615613b355768010000162e43f4f8310260401c5b65100000000000821615613b5257680100000b1721bcfc9a0260401c5b65080000000000821615613b6f5768010000058b90cf1e6e0260401c5b65040000000000821615613b8c576801000002c5c863b73f0260401c5b65020000000000821615613ba957680100000162e430e5a20260401c5b65010000000000821615613bc6576801000000b1721835510260401c5b648000000000821615613be257680100000058b90c0b490260401c5b644000000000821615613bfe5768010000002c5c8601cc0260401c5b642000000000821615613c1a576801000000162e42fff00260401c5b641000000000821615613c365768010000000b17217fbb0260401c5b640800000000821615613c52576801000000058b90bfce0260401c5b640400000000821615613c6e57680100000002c5c85fe30260401c5b640200000000821615613c8a5768010000000162e42ff10260401c5b640100000000821615613ca657680100000000b17217f80260401c5b6380000000821615613cc15768010000000058b90bfc0260401c5b6340000000821615613cdc576801000000002c5c85fe0260401c5b6320000000821615613cf757680100000000162e42ff0260401c5b6310000000821615613d12576801000000000b17217f0260401c5b6308000000821615613d2d57680100000000058b90c00260401c5b6304000000821615613d485768010000000002c5c8600260401c5b6302000000821615613d63576801000000000162e4300260401c5b6301000000821615613d7e5768010000000000b172180260401c5b62800000821615613d98576801000000000058b90c0260401c5b62400000821615613db257680100000000002c5c860260401c5b62200000821615613dcc5768010000000000162e430260401c5b62100000821615613de657680100000000000b17210260401c5b62080000821615613e005768010000000000058b910260401c5b62040000821615613e1a576801000000000002c5c80260401c5b62020000821615613e3457680100000000000162e40260401c5b62010000821615613e4e576801000000000000b1720260401c5b618000821615613e6757680100000000000058b90260401c5b614000821615613e805768010000000000002c5d0260401c5b612000821615613e99576801000000000000162e0260401c5b611000821615613eb25768010000000000000b170260401c5b610800821615613ecb576801000000000000058c0260401c5b610400821615613ee457680100000000000002c60260401c5b610200821615613efd57680100000000000001630260401c5b610100821615613f1657680100000000000000b10260401c5b6080821615613f2e57680100000000000000590260401c5b6040821615613f46576801000000000000002c0260401c5b6020821615613f5e57680100000000000000160260401c5b6010821615613f76576801000000000000000b0260401c5b6008821615613f8e57680100000000000000060260401c5b6004821615613fa657680100000000000000030260401c5b6002821615613fbe57680100000000000000010260401c5b6001821615613fd657680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b5f700100000000000000000000000000000000821061401957608091821c9161401690826145c8565b90505b68010000000000000000821061403c57604091821c9161403990826145c8565b90505b640100000000821061405b57602091821c9161405890826145c8565b90505b62010000821061407857601091821c9161407590826145c8565b90505b610100821061409457600891821c9161409190826145c8565b90505b601082106140af57600491821c916140ac90826145c8565b90505b600482106140ca57600291821c916140c790826145c8565b90505b600282106137df576104f16001826145c8565b828054828255905f5260205f20908101928215614116579160200282015b828111156141165782518255916020019190600101906140fb565b50614122929150614126565b5090565b5b80821115614122575f8155600101614127565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f84011261417f575f80fd5b50813567ffffffffffffffff811115614196575f80fd5b6020830191508360208260051b85010111156141b0575f80fd5b9250929050565b5f80602083850312156141c8575f80fd5b823567ffffffffffffffff8111156141de575f80fd5b6141ea8582860161416f565b90969095509350505050565b5f60208284031215614206575f80fd5b5035919050565b80356001600160a01b03811681146137df575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112614246575f80fd5b813567ffffffffffffffff81111561426057614260614223565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561428d5761428d614223565b6040529182526020818501810192908101868411156142aa575f80fd5b6020860192505b838310156142c95782358152602092830192016142b1565b5095945050505050565b5f805f80608085870312156142e6575f80fd5b6142ef8561420d565b9350602085013567ffffffffffffffff81111561430a575f80fd5b61431687828801614237565b935050604085013567ffffffffffffffff811115614332575f80fd5b61433e87828801614237565b949793965093946060013593505050565b803567ffffffffffffffff811681146137df575f80fd5b5f805f805f805f805f805f60e08c8e031215614380575f80fd5b8b3567ffffffffffffffff811115614396575f80fd5b6143a28e828f0161416f565b909c509a505060208c013567ffffffffffffffff8111156143c1575f80fd5b6143cd8e828f0161416f565b909a5098506143e0905060408d0161420d565b965060608c013567ffffffffffffffff8111156143fb575f80fd5b6144078e828f0161416f565b90975095505060808c013567ffffffffffffffff811115614426575f80fd5b6144328e828f0161416f565b9095509350614445905060a08d0161434f565b915061445360c08d0161434f565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b8181101561449c57835183526020938401939092019160010161447e565b509095945050505050565b5f80604083850312156144b8575f80fd5b6144c18361420d565b946020939093013593505050565b600181811c908216806144e357607f821691505b60208210810361450157634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112614530575f80fd5b83018035915067ffffffffffffffff82111561454a575f80fd5b6020019150600581901b36038213156141b0575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104f1576104f1614561565b5f60208284031215614598575f80fd5b612f8f8261434f565b634e487b7160e01b5f52601260045260245ffd5b5f826145c3576145c36145a1565b500690565b808201808211156104f1576104f1614561565b80820281158282048414176104f1576104f1614561565b8181035f83128015838313168383128216171561461157614611614561565b5092915050565b8082018281125f83128015821682158216171561463757614637614561565b505092915050565b5f600160ff1b820361465357614653614561565b505f0390565b5f82614667576146676145a1565b600160ff1b82145f198414161561468057614680614561565b500590565b5f82614693576146936145a1565b500490565b5f816146a6576146a6614561565b505f19019056fea264697066735822122056c57bb2bc67425b627617ce18376773c57f554bc19fa5d437f5270c87b5633f64736f6c634300081a0033557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520666f722064656e6f6d696e61746f72206f66207072696365206772616469656e742e57696474683a20576964746820706172616d6574657220666f7220746865206d65616e20726576657273696f6e206368616e6e656c2e4b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e67652e496e7665727365205363616c696e673a205363616c696e6720666163746f7220666f72206368616e6e656c20706f7274696f6e2e2049662073657420746f206d617828657870282d785e322f322973696e2870692a782f332929205b3d302e3534313531392e2e2e5d207468656e2074686520616d706c697475646520706172616d65746572206469726563746c7920636f6e74726f6c7320746865206368616e6e656c206865696768742e5072652d657870205363616c696e673a205363616c696e6720666163746f72206265666f7265206578706f6e656e74696174696f6e20696e20746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e416d706c69747564653a20416d706c6974756465206f6620746865206d65616e20726576657273696f6e206566666563742e4578706f6e656e74733a204578706f6e656e747320666f7220746865207472656e6420666f6c6c6f77696e6720706f7274696f6e2e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionType": "CREATE", - "contractName": "MinimumVarianceUpdateRule", - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x3c01fd", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b506040516136cc3803806136cc83398101604081905261002e916101b2565b6001600160a01b03811660a05260408051808201909152600f81526e4d696e696d756d56617269616e636560881b602082015260029061006e9082610277565b5060408051600180825281830190925290816020015b606081526020019060019003908161008457505080516100ac916003916020909101906100f4565b506040518060800160405280604c8152602001613680604c913960035f815481106100d9576100d9610331565b905f5260205f200190816100ed9190610277565b5050610345565b828054828255905f5260205f20908101928215610138579160200282015b8281111561013857825182906101289082610277565b5091602001919060010190610112565b50610144929150610148565b5090565b80821115610144575f61015b8282610164565b50600101610148565b508054610170906101f3565b5f825580601f1061017f575050565b601f0160209004905f5260205f209081019061019b919061019e565b50565b5b80821115610144575f815560010161019f565b5f602082840312156101c2575f80fd5b81516001600160a01b03811681146101d8575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061020757607f821691505b60208210810361022557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561027257805f5260205f20601f840160051c810160208510156102505750805b601f840160051c820191505b8181101561026f575f815560010161025c565b50505b505050565b81516001600160401b03811115610290576102906101df565b6102a48161029e84546101f3565b8461022b565b6020601f8211600181146102d6575f83156102bf5750848201515b5f19600385901b1c1916600184901b17845561026f565b5f84815260208120601f198516915b8281101561030557878501518255602094850194600190920191016102e5565b508482101561032257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b60805160a05161331661036a5f395f818161030a01526103a601525f50506133165ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190612da9565b60405180910390f35b6100a461009f366004612e26565b6101a9565b6040519015158152602001610088565b61007b6100c2366004612e65565b6102c6565b6100da6100d5366004612f47565b6102ed565b005b6100ef6100ea366004612fda565b610399565b60405161008891906130d9565b61010f61010a36600461311b565b610bb3565b604051908152602001610088565b6002805461012a90613143565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613143565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f6001821480156101e05750600183835f8181106101c9576101c961317b565b90506020028101906101db919061318f565b905010155b156102bd575f5b83835f8181106101f9576101f961317b565b905060200281019061020b919061318f565b90508110156102b3575f84845f8181106102275761022761317b565b9050602002810190610239919061318f565b838181106102495761024961317b565b90506020020135128061029d5750670de0b6b3a764000084845f8181106102725761027261317b565b9050602002810190610284919061318f565b838181106102945761029461317b565b90506020020135135b156102ab575f9150506102c0565b6001016101e7565b50600190506102c0565b505f5b92915050565b600381815481106102d5575f80fd5b905f5260205f20015f91509050805461012a90613143565b336001600160a01b038516148061032c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61037d5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610388848483610bde565b610393848383610c68565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104135760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610374565b61047f604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261049160018d6131e9565b60208201528467ffffffffffffffff8111156104af576104af612e97565b6040519080825280602002602001820160405280156104d8578160200160208202803683370190505b506101408201525b610140810151518151101561055c578585825f01518181106105045761050461317b565b905060200201602081019061051991906131fc565b67ffffffffffffffff16816101400151825f01518151811061053d5761053d61317b565b600f9290920b60209283029190910190910152805160010181526104e0565b60016060820152604081015160028102608083015267ffffffffffffffff81111561058957610589612e97565b6040519080825280602002602001820160405280156105b2578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156105d5576105d5612e97565b6040519080825280602002602001820160405280156105fe578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561062157610621612e97565b60405190808252806020026020018201604052801561064a578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526106bd93928301828280156106ae57602002820191905f5260205f20905b81548152602001906001019080831161069a575b50505050508260400151610c73565b60a08201819052604080516020808e0282810182019093528d825261070793928f918f9182918501908490808284375f920191909152505050506101408401516040850151610e3e565b60c0820152604081015161071d90600290613229565b1561072e576020810180515f190190525b5f81525b60208101518151101561093f5780606001511561079d5760a08101518151815181106107605761076061317b565b60200260200101518160e001518260400151835f0151610780919061323c565b815181106107905761079061317b565b6020026020010181815250505b60c08101518151815181106107b4576107b461317b565b60200260200101518160e00151825f0151815181106107d5576107d561317b565b6020908102919091010152805160010161016082015260608101511561084f578060a00151816101600151815181106108105761081061317b565b60200260200101518160e001518260400151836101600151610832919061323c565b815181106108425761084261317b565b6020026020010181815250505b8060c001518161016001518151811061086a5761086a61317b565b60200260200101518160e001518261016001518151811061088d5761088d61317b565b6020026020010181815250508060600151610927576108ee8160c00151825f0151815181106108be576108be61317b565b60200260200101518260c00151836101600151815181106108e1576108e161317b565b6020026020010151611014565b6001600160a01b038a165f9081526001602052604090206101808301518154811061091b5761091b61317b565b5f918252602090912001555b61018081018051600101905280516002018152610732565b600281604001516109509190613229565b15610a87576001816040015161096691906131e9565b6101a082018190526002900460208201526060810151156109db578060a00151816101a001518151811061099c5761099c61317b565b60200260200101518160e001518260400151836101a001516109be919061323c565b815181106109ce576109ce61317b565b6020026020010181815250505b8060c00151816101a00151815181106109f6576109f661317b565b60200260200101518160e00151826101a0015181518110610a1957610a1961317b565b6020026020010181815250508060600151610a8757610a4d5f8260c00151836101a00151815181106108e1576108e161317b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610a7b57610a7b61317b565b5f918252602090912001555b806060015115610acc57610a9e8160c0015161112c565b6001600160a01b038a165f9081526001602090815260409091208251610aca9391929190910190612d4c565b505b610afe60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610b788e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061141d565b6101208301819052610ba1908f8f67ffffffffffffffff808a16600f90810b918a16900b61179c565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610bcc575f80fd5b905f5260205f20015f91509150505481565b80825103610c1b57610bef8261112c565b6001600160a01b0384165f90815260016020908152604090912082516103939391929190910190612d4c565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610374565b505050565b610c638383836117f3565b60608183516002610c84919061324f565b1015610cd25760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610374565b8167ffffffffffffffff811115610ceb57610ceb612e97565b604051908082528060200260200182016040528015610d14578160200160208202803683370190505b5090505f8060018551610d2791906131e9565b90505f610d35600286613229565b1590505f5b8651811015610de7576080878281518110610d5757610d5761317b565b6020026020010151901d858581518110610d7357610d7361317b565b60200260200101818152505083600101935081158015610d9257508281105b80610d9a5750815b15610ddb57868181518110610db157610db161317b565b6020026020010151600f0b858581518110610dce57610dce61317b565b6020026020010181815250505b60019384019301610d3a565b5080610e3557858281518110610dff57610dff61317b565b6020026020010151600f0b84600187610e1891906131e9565b81518110610e2857610e2861317b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610e5a57610e5a612e97565b604051908082528060200260200182016040528015610e83578160200160208202803683370190505b5090505f845f81518110610e9957610e9961317b565b6020026020010151600f0b90505f81670de0b6b3a7640000610ebb9190613266565b90508551600103610f6b575f5b85811015610f65575f898281518110610ee357610ee361317b565b60200260200101519050610f3f670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b602002602001015161190590919063ffffffff16565b610f2f8488611905565b610f39919061328c565b90611a0c565b858381518110610f5157610f5161317b565b602090810291909101015250600101610ec8565b50611008565b5f5b8581101561100657868181518110610f8757610f8761317b565b6020026020010151600f0b925082670de0b6b3a76400000391505f898281518110610fb457610fb461317b565b60200260200101519050610fe0670de0b6b3a7640000610f25858c8681518110610f0f57610f0f61317b565b858381518110610ff257610ff261317b565b602090810291909101015250600101610f6d565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff831380159061104557506f7fffffffffffffffffffffffffffffff8213155b6110915760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610374565b6f7fffffffffffffffffffffffffffffff1983128015906110c357506f7fffffffffffffffffffffffffffffff198212155b61110f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610374565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036111845760405162461bcd60e51b81526004016103749060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516111929190613229565b5f03611263576002820491508167ffffffffffffffff8111156111b7576111b7612e97565b6040519080825280602002602001820160405280156111e0578160200160208202803683370190505b5093505f5b6111f06001856131e9565b81101561125d5761123286828151811061120c5761120c61317b565b602002602001015187836001611222919061323c565b815181106108e1576108e161317b565b8583815181106112445761124461317b565b60209081029190910101526001909101906002016111e5565b50611415565b5f856001875161127391906131e9565b815181106112835761128361317b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b81121580156112c157506f7fffffffffffffffffffffffffffffff8113155b61130d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610374565b60025f1984010460010192508267ffffffffffffffff81111561133257611332612e97565b60405190808252806020026020018201604052801561135b578160200160208202803683370190505b5094505f61136a6002866131e9565b90505f5b818110156113cc576113a188828151811061138b5761138b61317b565b602002602001015189836001611222919061323c565b8785815181106113b3576113b361317b565b602090810291909101015260019093019260020161136e565b50866113d96001876131e9565b815181106113e9576113e961317b565b6020026020010151600f0b8684815181106114065761140661317b565b60200260200101818152505050505b505050919050565b6020810185905260605f6114318684611b15565b90505f8767ffffffffffffffff81111561144d5761144d612e97565b604051908082528060200260200182016040528015611476578160200160208202803683370190505b50925085855f81811061148b5761148b61317b565b905060200281019061149d919061318f565b9050600103611616575f86865f8181106114b9576114b961317b565b90506020028101906114cb919061318f565b5f8181106114db576114db61317b565b9050602002013590505f81670de0b6b3a76400006114f99190613266565b90505f5b8a811015611578575f61153a86838151811061151b5761151b61317b565b6020026020010151670de0b6b3a7640000611a0c90919063ffffffff16565b9050611546818661328c565b94506115528382611905565b8683815181106115645761156461317b565b6020908102919091010152506001016114fd565b505f5b8a81101561160e575f6115b08587848151811061159a5761159a61317b565b6020026020010151611a0c90919063ffffffff16565b6115db8e8e858181106115c5576115c561317b565b905060200201358661190590919063ffffffff16565b6115e5919061328c565b9050808783815181106115fa576115fa61317b565b60209081029190910101525060010161157b565b505050611790565b5f5b888110156116cf575f87875f8181106116335761163361317b565b9050602002810190611645919061318f565b838181106116555761165561317b565b9050602002013590505f81670de0b6b3a76400006116739190613266565b90505f61168b86858151811061151b5761151b61317b565b9050611697818661328c565b94506116a38282611905565b8685815181106116b5576116b561317b565b602002602001018181525050836001019350505050611618565b505f5b8881101561178e575f87875f8181106116ed576116ed61317b565b90506020028101906116ff919061318f565b8381811061170f5761170f61317b565b9050602002013590505f61172f8486858151811061159a5761159a61317b565b61175a8d8d868181106117445761174461317b565b905060200201358461190590919063ffffffff16565b611764919061328c565b9050808684815181106117795761177961317b565b602090810291909101015250506001016116d2565b505b50509695505050505050565b60606117a88683612578565b95506117e98585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127019050565b9695505050505050565b6001600160a01b0383165f90815260208190526040812054835190919061181c90600290613229565b5f149050828451148015611878575081158061184c575080801561184c5750816002855161184a91906132b3565b145b8061187857508015801561187857508160028551600161186c919061323c565b61187691906132b3565b145b156118b6576118868461112c565b6001600160a01b0386165f9081526020818152604090912082516118b09391929190910190612d4c565b506118fe565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207365742076617269616e63650000000000000000000000006044820152606401610374565b5050505050565b5f600160ff1b83148061191b5750600160ff1b82145b15611952576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f85126119615784611965565b845f035b91505f84126119745783611978565b835f035b90505f6119858383612ab4565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156119e4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f198087139086138082186001146119fc5782611a00565b825f035b98975050505050505050565b5f600160ff1b831480611a225750600160ff1b82145b15611a59576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611a685784611a6c565b845f035b91505f8412611a7b5783611a7f565b835f035b90505f611a9583670de0b6b3a764000084612ba9565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611af4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f19808713908613808218600114611b0c5782611a00565b611a00836132c6565b6060611b676040518061014001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f151581526020015f81526020015f815260200160608152602001606081525090565b60208301516060820181905267ffffffffffffffff811115611b8b57611b8b612e97565b604051908082528060200260200182016040528015611bb4578160200160208202803683370190505b5061012082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611c279392830182828015611c1857602002820191905f5260205f20905b815481526020019060010190808311611c04575b50505050508260600151610c73565b6101008201526060810151611c3e906001906131e9565b60808201526060810151611c5490600290613229565b151560a0820152604083015180515f90611c7057611c7061317b565b6020908102919091010151600f0b60c08201819052611c9790670de0b6b3a7640000613266565b60e0820152604083015151600103612197578060a0015115611cbf576080810180515f190190525b5f5b8160800151811015611fd157611d75670de0b6b3a7640000610f3986606001518481518110611cf257611cf261317b565b6020026020010151888581518110611d0c57611d0c61317b565b6020026020010151611d1e9190613266565b8760600151858760600151611d33919061323c565b81518110611d4357611d4361317b565b6020026020010151898681518110611d5d57611d5d61317b565b6020026020010151611d6f9190613266565b90611905565b611daa8361010001518381518110611d8f57611d8f61317b565b60200260200101518460c0015161190590919063ffffffff16565b611db4919061328c565b60408301819052610100830151805183908110611dd357611dd361317b565b6020908102919091010152604082015160e0830151611df191611905565b8261012001518281518110611e0857611e0861317b565b60200260200101818152505080600101826020018181525050611ec1670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b602002602001015188866020015181518110611e6857611e6861317b565b6020026020010151611e7a9190613266565b876060015186602001518760600151611e93919061323c565b81518110611ea357611ea361317b565b602002602001015189876020015181518110611d5d57611d5d61317b565b611edf836101000151846020015181518110611d8f57611d8f61317b565b611ee9919061328c565b60408301819052610100830151602084015181518110611f0b57611f0b61317b565b602002602001018181525050611f548261010001518281518110611f3157611f3161317b565b60200260200101518361010001518460200151815181106108e1576108e161317b565b84516001600160a01b03165f908152602081905260409020835181548110611f7e57611f7e61317b565b5f91825260209091200155604082015160e0830151611f9c91611905565b826101200151836020015181518110611fb757611fb761317b565b602090810291909101015281516001018252600201611cc1565b508060a00151156121925780608001805160010190818152505061208b670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6020026020010151878560800151815181106120325761203261317b565b60200260200101516120449190613266565b86606001518560800151866060015161205d919061323c565b8151811061206d5761206d61317b565b602002602001015188866080015181518110611d5d57611d5d61317b565b6120c48261010001518360800151815181106120a9576120a961317b565b60200260200101518360c0015161190590919063ffffffff16565b6120ce919061328c565b604082018190526101008201516080830151815181106120f0576120f061317b565b6020908102919091010152604081015160e082015161210e91611905565b8161012001518260800151815181106121295761212961317b565b6020026020010181815250508061010001518160800151815181106121505761215061317b565b60209081029190910181015184516001600160a01b03165f9081529182905260409091208251815481106121865761218661317b565b5f918252602090912001555b61256c565b8060a00151156121ad576080810180515f190190525b5f5b816080015181101561240357836040015181815181106121d1576121d161317b565b6020908102919091010151600f0b60c08301819052670de0b6b3a764000090810360e0840152606085015180516122179291610f399185908110611cf257611cf261317b565b6122318361010001518381518110611d8f57611d8f61317b565b61223b919061328c565b6040830181905261010083015180518390811061225a5761225a61317b565b6020908102919091010152604082015160e083015161227891611905565b826101200151828151811061228f5761228f61317b565b60200260200101818152505080600101826020018181525050836040015181600101815181106122c1576122c161317b565b6020026020010151600f0b8260c00181815250508160c00151670de0b6b3a7640000038260e0018181525050612316670de0b6b3a7640000610f398660600151856020015181518110611e4a57611e4a61317b565b612334836101000151846020015181518110611d8f57611d8f61317b565b61233e919061328c565b604083018190526101008301516020840151815181106123605761236061317b565b6020026020010181815250506123868261010001518281518110611f3157611f3161317b565b84516001600160a01b03165f9081526020819052604090208351815481106123b0576123b061317b565b5f91825260209091200155604082015160e08301516123ce91611905565b8261012001518360200151815181106123e9576123e961317b565b6020908102919091010152815160010182526002016121af565b508060a001511561256c57608081018051600101908190526040840151805190919081106124335761243361317b565b6020026020010151600f0b8160c00181815250508060c00151670de0b6b3a7640000038160e0018181525050612488670de0b6b3a7640000610f3985606001518460800151815181106120145761201461317b565b6124a68261010001518360800151815181106120a9576120a961317b565b6124b0919061328c565b604082018190526101008201516080830151815181106124d2576124d261317b565b6020908102919091010152604081015160e08201516124f091611905565b81610120015182608001518151811061250b5761250b61317b565b6020026020010181815250506125365f8261010001518360800151815181106108e1576108e161317b565b83516001600160a01b03165f9081526020819052604090208251815481106125605761256061317b565b5f918252602090912001555b61012001519392505050565b8151606090600181900361258f57839150506102c0565b5f8390505f6125a585611d6f6001895103612c8a565b670de0b6b3a764000090810391505f805b8581101561267757848982815181106125d1576125d161317b565b6020026020010151121561260857848982815181106125f2576125f261317b565b602002602001018181525050848303925061266f565b8389828151811061261b5761261b61317b565b60200260200101511315612650578389828151811061263c5761263c61317b565b60209081029190910101529083019061266f565b8881815181106126625761266261317b565b6020026020010151820191505b6001016125b6565b5080156126f5575f6126898383611a0c565b90505f5b868110156126f257858a82815181106126a8576126a861317b565b6020026020010151146126ea576126cb828b8381518110610f0f57610f0f61317b565b8a82815181106126dd576126dd61317b565b6020026020010181815250505b60010161268d565b50505b50959695505050505050565b6060815f5b85518110156127d3575f8582815181106127225761272261317b565b602002602001015187838151811061273c5761273c61317b565b602002602001015113156127865785828151811061275c5761275c61317b565b60200260200101518783815181106127765761277661317b565b60200260200101510390506127be565b8682815181106127985761279861317b565b60200260200101518683815181106127b2576127b261317b565b60200260200101510390505b828113156127ca578092505b50600101612706565b505f805f805f87861315612937575f6127ec8988611a0c565b90505f5b8a51811015612930575f612841838e84815181106128105761281061317b565b60200260200101518e858151811061282a5761282a61317b565b60200260200101510361190590919063ffffffff16565b9050808d83815181106128565761285661317b565b6020026020010151018c83815181106128715761287161317b565b6020026020010181815250508b828151811061288f5761288f61317b565b602002602001015188019750858c83815181106128ae576128ae61317b565b602002602001015113156128e6578593508694508b82815181106128d4576128d461317b565b60200260200101519550819650612927565b838c83815181106128f9576128f961317b565b60200260200101511315612927578b82815181106129195761291961317b565b602002602001015193508194505b506001016127f0565b50506129f6565b5f5b89518110156129f4578981815181106129545761295461317b565b602002602001015186019550838a82815181106129735761297361317b565b602002602001015113156129ab578391508492508981815181106129995761299961317b565b602002602001015193508094506129ec565b818a82815181106129be576129be61317b565b602002602001015113156129ec578981815181106129de576129de61317b565b602002602001015191508092505b600101612939565b505b670de0b6b3a76400008514612aa357670de0b6b3a7640000851315612a5e57670de0b6b3a76400008503898581518110612a3257612a3261317b565b602002602001015103898581518110612a4d57612a4d61317b565b602002602001018181525050612aa3565b84670de0b6b3a764000003898381518110612a7b57612a7b61317b565b602002602001015101898381518110612a9657612a9661317b565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612b0f576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610374565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612b4b5780670de0b6b3a76400008504019450505050506102c0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612be057838281612bd657612bd6613215565b0492505050612aad565b838110612c23576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610374565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612ce8576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612d3e576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610374565b50670de0b6b3a76400000290565b828054828255905f5260205f20908101928215612d85579160200282015b82811115612d85578251825591602001919060010190612d6a565b50612d91929150612d95565b5090565b5b80821115612d91575f8155600101612d96565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112612dee575f80fd5b50813567ffffffffffffffff811115612e05575f80fd5b6020830191508360208260051b8501011115612e1f575f80fd5b9250929050565b5f8060208385031215612e37575f80fd5b823567ffffffffffffffff811115612e4d575f80fd5b612e5985828601612dde565b90969095509350505050565b5f60208284031215612e75575f80fd5b5035919050565b80356001600160a01b0381168114612e92575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112612eba575f80fd5b813567ffffffffffffffff811115612ed457612ed4612e97565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715612f0157612f01612e97565b604052918252602081850181019290810186841115612f1e575f80fd5b6020860192505b83831015612f3d578235815260209283019201612f25565b5095945050505050565b5f805f8060808587031215612f5a575f80fd5b612f6385612e7c565b9350602085013567ffffffffffffffff811115612f7e575f80fd5b612f8a87828801612eab565b935050604085013567ffffffffffffffff811115612fa6575f80fd5b612fb287828801612eab565b949793965093946060013593505050565b803567ffffffffffffffff81168114612e92575f80fd5b5f805f805f805f805f805f60e08c8e031215612ff4575f80fd5b8b3567ffffffffffffffff81111561300a575f80fd5b6130168e828f01612dde565b909c509a505060208c013567ffffffffffffffff811115613035575f80fd5b6130418e828f01612dde565b909a509850613054905060408d01612e7c565b965060608c013567ffffffffffffffff81111561306f575f80fd5b61307b8e828f01612dde565b90975095505060808c013567ffffffffffffffff81111561309a575f80fd5b6130a68e828f01612dde565b90955093506130b9905060a08d01612fc3565b91506130c760c08d01612fc3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b818110156131105783518352602093840193909201916001016130f2565b509095945050505050565b5f806040838503121561312c575f80fd5b61313583612e7c565b946020939093013593505050565b600181811c9082168061315757607f821691505b60208210810361317557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e198436030181126131a4575f80fd5b83018035915067ffffffffffffffff8211156131be575f80fd5b6020019150600581901b3603821315612e1f575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156102c0576102c06131d5565b5f6020828403121561320c575f80fd5b612aad82612fc3565b634e487b7160e01b5f52601260045260245ffd5b5f8261323757613237613215565b500690565b808201808211156102c0576102c06131d5565b80820281158282048414176102c0576102c06131d5565b8181035f831280158383131683831282161715613285576132856131d5565b5092915050565b8082018281125f8312801582168215821617156132ab576132ab6131d5565b505092915050565b5f826132c1576132c1613215565b500490565b5f600160ff1b82036132da576132da6131d5565b505f039056fea264697066735822122049c02cd866e47ca05434a67797188abbd487a0d48074658d11fb76e93f6a714664736f6c634300081a00334d6978696e67204c616d6264612028ce9b293a204d6978696e67204c616d62646120636f6e74726f6c7320686f77207468652077656967687420736d6f6f7468696e6720697320646f6e652e000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionType": "CREATE", - "contractName": "PowerChannelUpdateRule", - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA", - "function": null, - "arguments": [ - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4f601a", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161459538038061459583398101604081905261002e91610275565b6001600160a01b03811660805260408051808201909152600c81526b141bddd95c90da185b9b995b60a21b602082015260029061006b908261033a565b5060408051600480825260a0820190925290816020015b606081526020019060019003908161008257505080516100aa916003916020909101906101b7565b506040518060800160405280604781526020016144f86047913960035f815481106100d7576100d76103f4565b905f5260205f200190816100eb919061033a565b50604051806060016040528060328152602001614468603291396003600181548110610119576101196103f4565b905f5260205f2001908161012d919061033a565b5060405180608001604052806056815260200161453f60569139600360028154811061015b5761015b6103f4565b905f5260205f2001908161016f919061033a565b506040518060800160405280605e815260200161449a605e91396003808154811061019c5761019c6103f4565b905f5260205f200190816101b0919061033a565b5050610408565b828054828255905f5260205f209081019282156101fb579160200282015b828111156101fb57825182906101eb908261033a565b50916020019190600101906101d5565b5061020792915061020b565b5090565b80821115610207575f61021e8282610227565b5060010161020b565b508054610233906102b6565b5f825580601f10610242575050565b601f0160209004905f5260205f209081019061025e9190610261565b50565b5b80821115610207575f8155600101610262565b5f60208284031215610285575f80fd5b81516001600160a01b038116811461029b575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102ca57607f821691505b6020821081036102e857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561033557805f5260205f20601f840160051c810160208510156103135750805b601f840160051c820191505b81811015610332575f815560010161031f565b50505b505050565b81516001600160401b03811115610353576103536102a2565b6103678161036184546102b6565b846102ee565b6020601f821160018114610399575f83156103825750848201515b5f19600385901b1c1916600184901b178455610332565b5f84815260208120601f198516915b828110156103c857878501518255602094850194600190920191016103a8565b50848210156103e557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b6080516140416104275f395f818161050501526105a101526140415ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613a9e565b60405180910390f35b6100a461009f366004613b1b565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613b5a565b6104c1565b6100da6100d5366004613c37565b6104e8565b005b6100ef6100ea366004613cca565b610594565b6040516100889190613dc9565b61010f61010a366004613e0b565b610dab565b604051908152602001610088565b6002805461012a90613e33565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613e33565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60028214806101ea57506003821480156101ea5750828260028181106101d2576101d2613e6b565b90506020028101906101e49190613e7f565b90506001145b801561021a57505f83835f81811061020457610204613e6b565b90506020028101906102169190613e7f565b9050115b80156102d1575082825f81811061023357610233613e6b565b90506020028101906102459190613e7f565b9050600114801561027c57508282600181811061026457610264613e6b565b90506020028101906102769190613e7f565b90506001145b806102d1575082825f81811061029457610294613e6b565b90506020028101906102a69190613e7f565b9050838360018181106102bb576102bb613e6b565b90506020028101906102cd9190613e7f565b9050145b156104b8575060015f5b83835f8181106102ed576102ed613e6b565b90506020028101906102ff9190613e7f565b9050811015610359575f84845f81811061031b5761031b613e6b565b905060200281019061032d9190613e7f565b8381811061033d5761033d613e6b565b9050602002013513610351575f9150610359565b6001016102db565b505f5b8383600181811061036f5761036f613e6b565b90506020028101906103819190613e7f565b90508110156103e457670de0b6b3a7640000848460018181106103a6576103a6613e6b565b90506020028101906103b89190613e7f565b838181106103c8576103c8613e6b565b90506020020135136103dc575f91506103e4565b60010161035c565b5060038214801561041b57508282600281811061040357610403613e6b565b90506020028101906104159190613e7f565b90506001145b156104b3578282600281811061043357610433613e6b565b90506020028101906104459190613e7f565b5f81811061045557610455613e6b565b905060200201355f14806104ac575061046e6001610dd6565b8383600281811061048157610481613e6b565b90506020028101906104939190613e7f565b5f8181106104a3576104a3613e6b565b90506020020135145b6104b357505f5b6104bb565b505f5b92915050565b600381815481106104d0575f80fd5b905f5260205f20015f91509050805461012a90613e33565b336001600160a01b03851614806105275750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6105785760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610583848483610e98565b61058e848383610f22565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c43000000000000000000000000000000000000000000604482015260640161056f565b61067a604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261068c60018d613ed9565b60208201528467ffffffffffffffff8111156106aa576106aa613b87565b6040519080825280602002602001820160405280156106d3578160200160208202803683370190505b506101408201525b6101408101515181511015610757578585825f01518181106106ff576106ff613e6b565b90506020020160208101906107149190613eec565b67ffffffffffffffff16816101400151825f01518151811061073857610738613e6b565b600f9290920b60209283029190910190910152805160010181526106db565b5f606082015260408101516080820181905267ffffffffffffffff81111561078157610781613b87565b6040519080825280602002602001820160405280156107aa578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff8111156107cd576107cd613b87565b6040519080825280602002602001820160405280156107f6578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff81111561081957610819613b87565b604051908082528060200260200182016040528015610842578160200160208202803683370190505b5060e08201526001600160a01b0389165f9081526001602090815260409182902080548351818402810184019094528084526108b593928301828280156108a657602002820191905f5260205f20905b815481526020019060010190808311610892575b50505050508260400151610f2d565b60a08201819052604080516020808e0282810182019093528d82526108ff93928f918f9182918501908490808284375f9201919091525050505061014084015160408501516110f8565b60c0820152604081015161091590600290613f19565b15610926576020810180515f190190525b5f81525b602081015181511015610b37578060600151156109955760a081015181518151811061095857610958613e6b565b60200260200101518160e001518260400151835f01516109789190613f2c565b8151811061098857610988613e6b565b6020026020010181815250505b60c08101518151815181106109ac576109ac613e6b565b60200260200101518160e00151825f0151815181106109cd576109cd613e6b565b60209081029190910101528051600101610160820152606081015115610a47578060a0015181610160015181518110610a0857610a08613e6b565b60200260200101518160e001518260400151836101600151610a2a9190613f2c565b81518110610a3a57610a3a613e6b565b6020026020010181815250505b8060c0015181610160015181518110610a6257610a62613e6b565b60200260200101518160e0015182610160015181518110610a8557610a85613e6b565b6020026020010181815250508060600151610b1f57610ae68160c00151825f015181518110610ab657610ab6613e6b565b60200260200101518260c0015183610160015181518110610ad957610ad9613e6b565b60200260200101516112ce565b6001600160a01b038a165f90815260016020526040902061018083015181548110610b1357610b13613e6b565b5f918252602090912001555b6101808101805160010190528051600201815261092a565b60028160400151610b489190613f19565b15610c7f5760018160400151610b5e9190613ed9565b6101a08201819052600290046020820152606081015115610bd3578060a00151816101a0015181518110610b9457610b94613e6b565b60200260200101518160e001518260400151836101a00151610bb69190613f2c565b81518110610bc657610bc6613e6b565b6020026020010181815250505b8060c00151816101a0015181518110610bee57610bee613e6b565b60200260200101518160e00151826101a0015181518110610c1157610c11613e6b565b6020026020010181815250508060600151610c7f57610c455f8260c00151836101a0015181518110610ad957610ad9613e6b565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610c7357610c73613e6b565b5f918252602090912001555b806060015115610cc457610c968160c001516113e6565b6001600160a01b038a165f9081526001602090815260409091208251610cc29391929190910190613a41565b505b610cf660405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610d708e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e91508790506116d7565b6101208301819052610d99908f8f67ffffffffffffffff808a16600f90810b918a16900b611d21565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610dc4575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610e34576040517fe608e18b0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610e8a576040517f71f72a310000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b50670de0b6b3a76400000290565b80825103610ed557610ea9826113e6565b6001600160a01b0384165f908152600160209081526040909120825161058e9391929190910190613a41565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e672061766700000000000000000000604482015260640161056f565b505050565b610f1d838383611d78565b60608183516002610f3e9190613f3f565b1015610f8c5760405162461bcd60e51b815260206004820152600860248201527f535243213d544754000000000000000000000000000000000000000000000000604482015260640161056f565b8167ffffffffffffffff811115610fa557610fa5613b87565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f8060018551610fe19190613ed9565b90505f610fef600286613f19565b1590505f5b86518110156110a157608087828151811061101157611011613e6b565b6020026020010151901d85858151811061102d5761102d613e6b565b6020026020010181815250508360010193508115801561104c57508281105b806110545750815b156110955786818151811061106b5761106b613e6b565b6020026020010151600f0b85858151811061108857611088613e6b565b6020026020010181815250505b60019384019301610ff4565b50806110ef578582815181106110b9576110b9613e6b565b6020026020010151600f0b846001876110d29190613ed9565b815181106110e2576110e2613e6b565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff81111561111457611114613b87565b60405190808252806020026020018201604052801561113d578160200160208202803683370190505b5090505f845f8151811061115357611153613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006111759190613f56565b90508551600103611225575f5b8581101561121f575f89828151811061119d5761119d613e6b565b602002602001015190506111f9670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b6020026020010151611e8990919063ffffffff16565b6111e98488611e89565b6111f39190613f7c565b90611f90565b85838151811061120b5761120b613e6b565b602090810291909101015250600101611182565b506112c2565b5f5b858110156112c05786818151811061124157611241613e6b565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061126e5761126e613e6b565b6020026020010151905061129a670de0b6b3a76400006111df858c86815181106111c9576111c9613e6b565b8583815181106112ac576112ac613e6b565b602090810291909101015250600101611227565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906112ff57506f7fffffffffffffffffffffffffffffff8213155b61134b5760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f77000000000000000000000000000000000000000000000000604482015260640161056f565b6f7fffffffffffffffffffffffffffffff19831280159061137d57506f7fffffffffffffffffffffffffffffff198212155b6113c95760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f770000000000000000000000000000000000000000000000604482015260640161056f565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f81810361143e5760405162461bcd60e51b815260040161056f9060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b6002855161144c9190613f19565b5f0361151d576002820491508167ffffffffffffffff81111561147157611471613b87565b60405190808252806020026020018201604052801561149a578160200160208202803683370190505b5093505f5b6114aa600185613ed9565b811015611517576114ec8682815181106114c6576114c6613e6b565b6020026020010151878360016114dc9190613f2c565b81518110610ad957610ad9613e6b565b8583815181106114fe576114fe613e6b565b602090810291909101015260019091019060020161149f565b506116cf565b5f856001875161152d9190613ed9565b8151811061153d5761153d613e6b565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561157b57506f7fffffffffffffffffffffffffffffff8113155b6115c75760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f770000000000604482015260640161056f565b60025f1984010460010192508267ffffffffffffffff8111156115ec576115ec613b87565b604051908082528060200260200182016040528015611615578160200160208202803683370190505b5094505f611624600286613ed9565b90505f5b818110156116865761165b88828151811061164557611645613e6b565b6020026020010151898360016114dc9190613f2c565b87858151811061166d5761166d613e6b565b6020908102919091010152600190930192600201611628565b5086611693600187613ed9565b815181106116a3576116a3613e6b565b6020026020010151600f0b8684815181106116c0576116c0613e6b565b60200260200101818152505050505b505050919050565b606061173c604051806101a0016040528060608152602001606081526020015f81526020015f81526020015f151581526020015f81526020015f8152602001606081526020015f81526020015f81526020015f81526020015f81526020015f81525090565b60608101879052602083018790526117548684612099565b602082015284845f8161176957611769613e6b565b905060200281019061177b9190613e7f565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506080820152600284111561180c57670de0b6b3a7640000858560028181106117d7576117d7613e6b565b90506020028101906117e99190613e7f565b5f8181106117f9576117f9613e6b565b6020029190910135919091146080830152505b5f8585600181811061182057611820613e6b565b90506020028101906118329190613e7f565b905060011490508585600181811061184c5761184c613e6b565b905060200281019061185e9190613e7f565b5f81811061186e5761186e613e6b565b602002919091013560c0840152505f60a08301525b81606001518260a001511015611ab25783606001518260a00151815181106118ad576118ad613e6b565b6020026020010151826101000181815250508061190c57858560018181106118d7576118d7613e6b565b90506020028101906118e99190613e7f565b8360a001518181106118fd576118fd613e6b565b602002919091013560c0840152505b81608001511561193f57868260a001518151811061192c5761192c613e6b565b6020026020010151826101000181815250505b61198a82602001518360a001518151811061195c5761195c613e6b565b6020026020010151611984846101000151670de0b6b3a7640000611f9090919063ffffffff16565b90611e89565b61018083018190525f13156119a857670de0b6b3a763ffff196119b2565b670de0b6b3a76400005b6101608301526101808201516119e5906119d9906119cf9061289e565b8460c001516128ef565b61016084015190611e89565b82602001518360a00151815181106119ff576119ff613e6b565b6020908102919091010152815151600103611a4f5781602001518260a0015181518110611a2e57611a2e613e6b565b602002602001015182604001818151611a479190613f7c565b905250611aa2565b611a8d82602001518360a0015181518110611a6c57611a6c613e6b565b6020026020010151835f01518460a00151815181106111c9576111c9613e6b565b82604001818151611a9e9190613f7c565b9052505b60a0820180516001019052611883565b816060015167ffffffffffffffff811115611acf57611acf613b87565b604051908082528060200260200182016040528015611af8578160200160208202803683370190505b50825151909350600103611be357816060015182604001818151611b1c9190613fa3565b9052505f60a08301525b81606001518260a001511015611bde57611b7c826040015183602001518460a0015181518110611b5857611b58613e6b565b6020026020010151611b6a9190613f56565b835180515f906111c9576111c9613e6b565b89898460a00151818110611b9257611b92613e6b565b90506020020135611ba39190613f7c565b610140830181905260a083015184518591908110611bc357611bc3613e6b565b602090810291909101015260a0820180516001019052611b26565b611d15565b5f60a08301525b81515160a08301511015611c3c57815160a083015181518110611c0f57611c0f613e6b565b60200260200101518261012001818151611c299190613f7c565b90525060a0820180516001019052611bea565b6101208201516040830151611c5091611f90565b60408301525f60a08301525b60a0820151881115611d1557611cb3826040015183602001518460a0015181518110611c8a57611c8a613e6b565b6020026020010151611c9c9190613f56565b835160a0850151815181106111c9576111c9613e6b565b89898460a00151818110611cc957611cc9613e6b565b90506020020135611cda9190613f7c565b610140830181905260a083015184518591908110611cfa57611cfa613e6b565b602090810291909101015260a0820180516001019052611c5c565b50509695505050505050565b6060611d2d8683612948565b9550611d6e8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250879150612ad19050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611e035750801580611dca575060028351611db19190613f19565b158015611dca57508060028451611dc89190613fcf565b145b80611e03575060028351611dde9190613f19565b15801590611e0357508060028451611df69190613fcf565b611e01906001613f2c565b145b15611e4157611e11836113e6565b6001600160a01b0385165f908152602081815260409091208251611e3b9391929190910190613a41565b5061058e565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e74000000000000000000000000604482015260640161056f565b5f600160ff1b831480611e9f5750600160ff1b82145b15611ed6576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611ee55784611ee9565b845f035b91505f8412611ef85783611efc565b835f035b90505f611f098383612e81565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611f68576040517fbf79e8d90000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f19808713908613808218600114611f805782611f84565b825f035b98975050505050505050565b5f600160ff1b831480611fa65750600160ff1b82145b15611fdd576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611fec5784611ff0565b845f035b91505f8412611fff5783612003565b835f035b90505f61201983670de0b6b3a764000084612f76565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115612078576040517f7cb4bef50000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f198087139086138082186001146120905782611f84565b611f8483613fe2565b60606120d66040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff8111156120f3576120f3613b87565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b5060a082015282516001600160a01b03165f9081526020818152604091829020805483518184028101840190945280845261218e939283018282801561217f57602002820191905f5260205f20905b81548152602001906001019080831161216b575b50505050508460200151610f2d565b60c082015260208301515f906121a690600290613f19565b5f141590505f600185602001516121bd9190613ed9565b90505f85604001515f815181106121d6576121d6613e6b565b6020026020010151600f0b90505f81670de0b6b3a76400006121f89190613f56565b905086604001515160010361252a5761221d826111f3836729a2241af62c0000613057565b8552831561222c575f19909201915b5f5b8381101561242b5761227c828960600151838151811061225057612250613e6b565b60200260200101518b848151811061226a5761226a613e6b565b60200260200101516111f39190613f56565b6122ac8760c00151838151811061229557612295613e6b565b602002602001015185611e8990919063ffffffff16565b6122b69190613f7c565b6020870181905260c08701518051839081106122d4576122d4613e6b565b60209081029190910181019190915286015186516122f191611e89565b8660a00151828151811061230757612307613e6b565b6020908102919091010152600181016060808801829052890151805161235692859291811061233857612338613e6b565b60200260200101518b89606001518151811061226a5761226a613e6b565b6123738760c0015188606001518151811061229557612295613e6b565b61237d9190613f7c565b60408701819052865161238f91611e89565b8660a001518760600151815181106123a9576123a9613e6b565b6020026020010181815250506123e08660c0015182815181106123ce576123ce613e6b565b602002602001015187604001516112ce565b88516001600160a01b03165f90815260208190526040902060808801518154811061240d5761240d613e6b565b5f91825260209091200155608086018051600101905260020161222e565b5083156125255782600101925061246c818860600151858151811061245257612452613e6b565b60200260200101518a868151811061226a5761226a613e6b565b61249c8660c00151858151811061248557612485613e6b565b602002602001015184611e8990919063ffffffff16565b6124a69190613f7c565b602086018190526124b8905f906112ce565b87516001600160a01b03165f9081526020819052604090206080870151815481106124e5576124e5613e6b565b5f9182526020918290200191909155850151855161250291611e89565b8560a00151848151811061251857612518613e6b565b6020026020010181815250505b61288f565b831561253c5761253983613ff6565b92505b5f5b83811015612776578760400151818151811061255c5761255c613e6b565b6020026020010151600f0b925082670de0b6b3a7640000039150612595836111f36729a2241af62c00008561305790919063ffffffff16565b8652606088015180516125b49184918490811061225057612250613e6b565b6125cd8760c00151838151811061229557612295613e6b565b6125d79190613f7c565b6020870181905260c08701518051839081106125f5576125f5613e6b565b602090810291909101810191909152860151865161261291611e89565b8660a00151828151811061262857612628613e6b565b6020908102919091010152600181016060870181905260408901518051909190811061265657612656613e6b565b6020026020010151600f0b925082670de0b6b3a764000003915061268f836111f36729a2241af62c00008561305790919063ffffffff16565b86526060808901519087015181516126b39285929091811061233857612338613e6b565b6126d08760c0015188606001518151811061229557612295613e6b565b6126da9190613f7c565b6040870181905286516126ec91611e89565b8660a0015187606001518151811061270657612706613e6b565b60200260200101818152505061272b8660c0015182815181106123ce576123ce613e6b565b88516001600160a01b03165f90815260208190526040902060808801518154811061275857612758613e6b565b5f91825260209091200155608086018051600101905260020161253e565b50831561288f578260010192508660400151838151811061279957612799613e6b565b6020026020010151600f0b915081670de0b6b3a76400000390506127d2826111f36729a2241af62c00008461305790919063ffffffff16565b8552606087015180516127f19183918690811061245257612452613e6b565b61280a8660c00151858151811061248557612485613e6b565b6128149190613f7c565b60208601819052855161282691611e89565b8560a00151848151811061283c5761283c613e6b565b6020026020010181815250506128565f86602001516112ce565b87516001600160a01b03165f90815260208190526040902060808701518154811061288357612883613e6b565b5f918252602090912001555b5050505060a001519392505050565b5f600160ff1b82036128dc576040517f741d0b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82126128e957816104bb565b505f0390565b5f811580612904575082158015612904575081155b156129185750670de0b6b3a76400006104bb565b825f0361292657505f6104bb565b61294161293c61293585613091565b8490611e89565b61318a565b9392505050565b8151606090600181900361295f57839150506104bb565b5f8390505f612975856119846001895103610dd6565b670de0b6b3a764000090810391505f805b85811015612a4757848982815181106129a1576129a1613e6b565b602002602001015112156129d857848982815181106129c2576129c2613e6b565b6020026020010181815250508483039250612a3f565b838982815181106129eb576129eb613e6b565b60200260200101511315612a205783898281518110612a0c57612a0c613e6b565b602090810291909101015290830190612a3f565b888181518110612a3257612a32613e6b565b6020026020010151820191505b600101612986565b508015612ac5575f612a598383611f90565b90505f5b86811015612ac257858a8281518110612a7857612a78613e6b565b602002602001015114612aba57612a9b828b83815181106111c9576111c9613e6b565b8a8281518110612aad57612aad613e6b565b6020026020010181815250505b600101612a5d565b50505b50959695505050505050565b6060815f5b8551811015612ba3575f858281518110612af257612af2613e6b565b6020026020010151878381518110612b0c57612b0c613e6b565b60200260200101511315612b5657858281518110612b2c57612b2c613e6b565b6020026020010151878381518110612b4657612b46613e6b565b6020026020010151039050612b8e565b868281518110612b6857612b68613e6b565b6020026020010151868381518110612b8257612b82613e6b565b60200260200101510390505b82811315612b9a578092505b50600101612ad6565b505f805f805f87861315612d07575f612bbc8988611f90565b90505f5b8a51811015612d00575f612c11838e8481518110612be057612be0613e6b565b60200260200101518e8581518110612bfa57612bfa613e6b565b602002602001015103611e8990919063ffffffff16565b9050808d8381518110612c2657612c26613e6b565b6020026020010151018c8381518110612c4157612c41613e6b565b6020026020010181815250508b8281518110612c5f57612c5f613e6b565b602002602001015188019750858c8381518110612c7e57612c7e613e6b565b60200260200101511315612cb6578593508694508b8281518110612ca457612ca4613e6b565b60200260200101519550819650612cf7565b838c8381518110612cc957612cc9613e6b565b60200260200101511315612cf7578b8281518110612ce957612ce9613e6b565b602002602001015193508194505b50600101612bc0565b5050612dc6565b5f5b8951811015612dc457898181518110612d2457612d24613e6b565b602002602001015186019550838a8281518110612d4357612d43613e6b565b60200260200101511315612d7b57839150849250898181518110612d6957612d69613e6b565b60200260200101519350809450612dbc565b818a8281518110612d8e57612d8e613e6b565b60200260200101511315612dbc57898181518110612dae57612dae613e6b565b602002602001015191508092505b600101612d09565b505b670de0b6b3a76400008514612e7357670de0b6b3a7640000851315612e2e57670de0b6b3a76400008503898581518110612e0257612e02613e6b565b602002602001015103898581518110612e1d57612e1d613e6b565b602002602001018181525050612e73565b84670de0b6b3a764000003898381518110612e4b57612e4b613e6b565b602002602001015101898381518110612e6657612e66613e6b565b6020026020010181815250505b509698975050505050505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612edc576040517fd31b34020000000000000000000000000000000000000000000000000000000081526004810182905260240161056f565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612f185780670de0b6b3a76400008504019450505050506104bb565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612fad57838281612fa357612fa3613f05565b0492505050612941565b838110612ff0576040517f773cc18c000000000000000000000000000000000000000000000000000000008152600481018290526024810185905260440161056f565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f0361307c57811561306b575f613075565b670de0b6b3a76400005b90506104bb565b61294161293c61308b85613091565b84611e89565b5f8082136130ce576040517f613f4fba0000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b5f670de0b6b3a764000083126130e6575060016130ff565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f613113670de0b6b3a76400008505613241565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff19810161313d57505002919050565b6706f05b59d3b200005b5f81131561318157670de0b6b3a7640000828002059150671bc16d674ec800008212613179579384019360019190911d905b60011d613147565b50505002919050565b5f808212156131db5768033dd1780914b97114198212156131ac57505f919050565b6131b7825f0361318a565b6ec097ce7bc90715b34b9f1000000000816131d4576131d4613f05565b0592915050565b680a688906bd8b0000008212613220576040517fe69458f90000000000000000000000000000000000000000000000000000000081526004810183905260240161056f565b670de0b6b3a7640000604083901b0461323881613331565b9150505b919050565b5f700100000000000000000000000000000000821061326d57608091821c9161326a9082613f2c565b90505b68010000000000000000821061329057604091821c9161328d9082613f2c565b90505b64010000000082106132af57602091821c916132ac9082613f2c565b90505b6201000082106132cc57601091821c916132c99082613f2c565b90505b61010082106132e857600891821c916132e59082613f2c565b90505b6010821061330357600491821c916133009082613f2c565b90505b6004821061331e57600291821c9161331b9082613f2c565b90505b6002821061323c576104bb600182613f2c565b778000000000000000000000000000000000000000000000006780000000000000008216156133695768016a09e667f3bcc9090260401c5b674000000000000000821615613388576801306fe0a31b7152df0260401c5b6720000000000000008216156133a7576801172b83c7d517adce0260401c5b6710000000000000008216156133c65768010b5586cf9890f62a0260401c5b6708000000000000008216156133e5576801059b0d31585743ae0260401c5b67040000000000000082161561340457680102c9a3e778060ee70260401c5b6702000000000000008216156134235768010163da9fb33356d80260401c5b67010000000000000082161561344257680100b1afa5abcbed610260401c5b66800000000000008216156134605768010058c86da1c09ea20260401c5b664000000000000082161561347e576801002c605e2e8cec500260401c5b662000000000000082161561349c57680100162f3904051fa10260401c5b66100000000000008216156134ba576801000b175effdc76ba0260401c5b66080000000000008216156134d857680100058ba01fb9f96d0260401c5b66040000000000008216156134f65768010002c5cc37da94920260401c5b6602000000000000821615613514576801000162e525ee05470260401c5b66010000000000008216156135325768010000b17255775c040260401c5b6580000000000082161561354f576801000058b91b5bc9ae0260401c5b6540000000000082161561356c57680100002c5c89d5ec6d0260401c5b652000000000008216156135895768010000162e43f4f8310260401c5b651000000000008216156135a657680100000b1721bcfc9a0260401c5b650800000000008216156135c35768010000058b90cf1e6e0260401c5b650400000000008216156135e0576801000002c5c863b73f0260401c5b650200000000008216156135fd57680100000162e430e5a20260401c5b6501000000000082161561361a576801000000b1721835510260401c5b64800000000082161561363657680100000058b90c0b490260401c5b6440000000008216156136525768010000002c5c8601cc0260401c5b64200000000082161561366e576801000000162e42fff00260401c5b64100000000082161561368a5768010000000b17217fbb0260401c5b6408000000008216156136a6576801000000058b90bfce0260401c5b6404000000008216156136c257680100000002c5c85fe30260401c5b6402000000008216156136de5768010000000162e42ff10260401c5b6401000000008216156136fa57680100000000b17217f80260401c5b63800000008216156137155768010000000058b90bfc0260401c5b6340000000821615613730576801000000002c5c85fe0260401c5b632000000082161561374b57680100000000162e42ff0260401c5b6310000000821615613766576801000000000b17217f0260401c5b630800000082161561378157680100000000058b90c00260401c5b630400000082161561379c5768010000000002c5c8600260401c5b63020000008216156137b7576801000000000162e4300260401c5b63010000008216156137d25768010000000000b172180260401c5b628000008216156137ec576801000000000058b90c0260401c5b6240000082161561380657680100000000002c5c860260401c5b622000008216156138205768010000000000162e430260401c5b6210000082161561383a57680100000000000b17210260401c5b620800008216156138545768010000000000058b910260401c5b6204000082161561386e576801000000000002c5c80260401c5b6202000082161561388857680100000000000162e40260401c5b620100008216156138a2576801000000000000b1720260401c5b6180008216156138bb57680100000000000058b90260401c5b6140008216156138d45768010000000000002c5d0260401c5b6120008216156138ed576801000000000000162e0260401c5b6110008216156139065768010000000000000b170260401c5b61080082161561391f576801000000000000058c0260401c5b61040082161561393857680100000000000002c60260401c5b61020082161561395157680100000000000001630260401c5b61010082161561396a57680100000000000000b10260401c5b608082161561398257680100000000000000590260401c5b604082161561399a576801000000000000002c0260401c5b60208216156139b257680100000000000000160260401c5b60108216156139ca576801000000000000000b0260401c5b60088216156139e257680100000000000000060260401c5b60048216156139fa57680100000000000000030260401c5b6002821615613a1257680100000000000000010260401c5b6001821615613a2a57680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613a7a579160200282015b82811115613a7a578251825591602001919060010190613a5f565b50613a86929150613a8a565b5090565b5b80821115613a86575f8155600101613a8b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f840112613ae3575f80fd5b50813567ffffffffffffffff811115613afa575f80fd5b6020830191508360208260051b8501011115613b14575f80fd5b9250929050565b5f8060208385031215613b2c575f80fd5b823567ffffffffffffffff811115613b42575f80fd5b613b4e85828601613ad3565b90969095509350505050565b5f60208284031215613b6a575f80fd5b5035919050565b80356001600160a01b038116811461323c575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613baa575f80fd5b813567ffffffffffffffff811115613bc457613bc4613b87565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715613bf157613bf1613b87565b604052918252602081850181019290810186841115613c0e575f80fd5b6020860192505b83831015613c2d578235815260209283019201613c15565b5095945050505050565b5f805f8060808587031215613c4a575f80fd5b613c5385613b71565b9350602085013567ffffffffffffffff811115613c6e575f80fd5b613c7a87828801613b9b565b935050604085013567ffffffffffffffff811115613c96575f80fd5b613ca287828801613b9b565b949793965093946060013593505050565b803567ffffffffffffffff8116811461323c575f80fd5b5f805f805f805f805f805f60e08c8e031215613ce4575f80fd5b8b3567ffffffffffffffff811115613cfa575f80fd5b613d068e828f01613ad3565b909c509a505060208c013567ffffffffffffffff811115613d25575f80fd5b613d318e828f01613ad3565b909a509850613d44905060408d01613b71565b965060608c013567ffffffffffffffff811115613d5f575f80fd5b613d6b8e828f01613ad3565b90975095505060808c013567ffffffffffffffff811115613d8a575f80fd5b613d968e828f01613ad3565b9095509350613da9905060a08d01613cb3565b9150613db760c08d01613cb3565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613e00578351835260209384019390920191600101613de2565b509095945050505050565b5f8060408385031215613e1c575f80fd5b613e2583613b71565b946020939093013593505050565b600181811c90821680613e4757607f821691505b602082108103613e6557634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613e94575f80fd5b83018035915067ffffffffffffffff821115613eae575f80fd5b6020019150600581901b3603821315613b14575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156104bb576104bb613ec5565b5f60208284031215613efc575f80fd5b61294182613cb3565b634e487b7160e01b5f52601260045260245ffd5b5f82613f2757613f27613f05565b500690565b808201808211156104bb576104bb613ec5565b80820281158282048414176104bb576104bb613ec5565b8181035f831280158383131683831282161715613f7557613f75613ec5565b5092915050565b8082018281125f831280158216821582161715613f9b57613f9b613ec5565b505092915050565b5f82613fb157613fb1613f05565b600160ff1b82145f1984141615613fca57613fca613ec5565b500590565b5f82613fdd57613fdd613f05565b500490565b5f600160ff1b82036128e9576128e9613ec5565b5f8161400457614004613ec5565b505f19019056fea2646970667358221220bc60219050a86165a8f227a96238eb67478047e4cd96be5282b9fa3482fa46c164736f6c634300081a0033513a2051206469637461746573207468652068617273686e657373206f6620746865206368616e6e656c20626f756e6472794c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f6620726573706f6e736520746f2061207369676e616c206368616e6765557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a", - "nonce": "0x2f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionType": "CREATE", - "contractName": "QuantAMMWeightedPoolFactory", - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": null, - "arguments": [ - "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "604800", - "0.1", - "0.1", - "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xbd18db", - "value": "0x0", - "input": "0x6101a0604052348015610010575f80fd5b5060405161af8938038061af8983398101604081905261002f9161032a565b8285856040518060200161004290610269565b601f1982820381018352601f90910116604052805182908490309084905f61006b6002836103e5565b60a081905290505f61007d8284610404565b60e08190528285529050835f61009382826101c9565b6001600160a01b0316608052508483018051838252600191906100b682846101c9565b6001600160a01b0390811660c0529690935291909152505050610100929092525016610120525f6100ed63ffffffff83164261041d565b905063ffffffff811115610114576040516368755a1160e01b815260040160405180910390fd5b63ffffffff918216610140521661016052506101339150829050610259565b506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b606482015260840160405180910390fd5b60046101b183826104b4565b506001600160a01b0316610180525061056e92505050565b5f80826101f6577f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe610218565b7f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe5b9050835181855260208101855ff090855291506001600160a01b0382166102525760405163fef8220760e01b815260040160405180910390fd5b5092915050565b600361026582826104b4565b5050565b61828480612d0583390190565b6001600160a01b038116811461028a575f80fd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126102b0575f80fd5b81516001600160401b038111156102c9576102c961028d565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102f7576102f761028d565b60405281815283820160200185101561030e575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f805f60a0868803121561033e575f80fd5b855161034981610276565b602087015190955063ffffffff81168114610362575f80fd5b60408701519094506001600160401b0381111561037d575f80fd5b610389888289016102a1565b606088015190945090506001600160401b038111156103a6575f80fd5b6103b2888289016102a1565b92505060808601516103c381610276565b809150509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b5f826103ff57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610417576104176103d1565b92915050565b80820180821115610417576104176103d1565b600181811c9082168061044457607f821691505b60208210810361046257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104af57805f5260205f20601f840160051c8101602085101561048d5750805b601f840160051c820191505b818110156104ac575f8155600101610499565b50505b505050565b81516001600160401b038111156104cd576104cd61028d565b6104e1816104db8454610430565b84610468565b6020601f821160018114610513575f83156104fc5750848201515b5f19600385901b1c1916600184901b1784556104ac565b5f84815260208120601f198516915b828110156105425787850151825560209485019460019092019101610522565b508482101561055f57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a05160c05160e05161010051610120516101405161016051610180516126f36106125f395f81816106750152610af201525f818161039801528181610d700152610da301525f6102e101525f818161035a015281816106bb01528181610b3801528181610cef0152610f8301525f610c7301525f610e2c01525f81816101c20152610e0b01525f610dea01525f818161019d0152610dc901526126f35ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c8063673a2a1f116100d25780638d928af811610088578063db035ebc11610063578063db035ebc1461038e578063e9d56e1914610396578063ec888061146103bc575f80fd5b80638d928af8146103585780638eec5d701461037e578063aaabadc514610386575f80fd5b806378da80cb116100b857806378da80cb146102df5780638110f22e14610316578063851c1bb314610337575f80fd5b8063673a2a1f146102cc5780636c57f5a9146102d4575f80fd5b80633f819b6f1161012757806353a72f7e1161010d57806353a72f7e1461026957806354fd4d50146102895780636634b75314610291575f80fd5b80633f819b6f1461024e57806344f6fec714610256575f80fd5b8063193ad50f11610157578063193ad50f146101ed5780632f2770db146102195780632fcb030514610223575f80fd5b8062c194db14610171578063174481fa1461018f575b5f80fd5b6101796103c2565b60405161018691906112e7565b60405180910390f35b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f000000000000000000000000000000000000000000000000000000000000000016602082015201610186565b604080516080810182525f808252602082018190528183018190526060820152905161018691906112f9565b6102216103e0565b005b610236610231366004611ad0565b610427565b6040516001600160a01b039091168152602001610186565b610179610789565b610236610264366004611d16565b610819565b61027c610277366004611d6b565b61083a565b6040516101869190611d8b565b61017961095c565b6102bc61029f366004611dd6565b6001600160a01b03165f9081526020819052604090205460ff1690565b6040519015158152602001610186565b61027c61096b565b60025460ff166102bc565b7f00000000000000000000000000000000000000000000000000000000000000005b60405163ffffffff9091168152602001610186565b610329610324366004611ad0565b6109ca565b604051610186929190611df1565b61034a610345366004611e1a565b610c70565b604051908152602001610186565b7f0000000000000000000000000000000000000000000000000000000000000000610236565b60015461034a565b610236610cec565b610301610d6d565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b5f610236565b60606103db60405180602001604052805f815250610dc5565b905090565b6103e8610ea7565b6103f0610f19565b6002805460ff191660011790556040517f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d50905f90a1565b6080810151604001515f906001600160a01b0316156104595760405163187b85d960e21b815260040160405180910390fd5b60c08201516001600160a01b0316158015906104e3575081610100015115158260c001516001600160a01b031663d77153a76040518163ffffffff1660e01b815260040161014060405180830381865afa1580156104b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104dd9190611e64565b51151514155b1561051a576040517fbcf1332d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516080810182525f80825260208201819052818301819052606080830191825260e08601511515909152610100850151151582528401515191840151519091146105b95760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084015b60405180910390fd5b6107086040518060e00160405280855f01518152602001856020015181526020018560600151518152602001600480546105f290611f2e565b80601f016020809104026020016040519081016040528092919081815260200182805461061e90611f2e565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e0015181526020018561020001518152506106dd7f000000000000000000000000000000000000000000000000000000000000000090565b6040516020016106ee929190612000565b604051602081830303815290604052846101200151610f58565b60405163d36a274f60e01b81529092506001600160a01b0383169063d36a274f906107379086906004016123ce565b5f604051808303815f87803b15801561074e575f80fd5b505af1158015610760573d5f803e3d5ffd5b505050506107838284604001518560a001515f87608001518860c0015187610f81565b50919050565b60606004805461079890611f2e565b80601f01602080910402602001604051908101604052809291908181526020018280546107c490611f2e565b801561080f5780601f106107e65761010080835404028352916020019161080f565b820191905f5260205f20905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b5f8061082483611018565b9050610830848261103b565b9150505b92915050565b600154606090808410610879576040517f4e23d03500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108848486612596565b90508181111561089b5761089885836125a9565b93505b8367ffffffffffffffff8111156108b4576108b461132c565b6040519080825280602002602001820160405280156108dd578160200160208202803683370190505b5092505f5b848110156109535760016108f68288612596565b81548110610906576109066125bc565b905f5260205f20015f9054906101000a90046001600160a01b0316848281518110610933576109336125bc565b6001600160a01b03909216602092830291909101909101526001016108e2565b50505092915050565b60606003805461079890611f2e565b6060600180548060200260200160405190810160405280929190818152602001828054801561080f57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116109a3575050505050905090565b6080810151604001515f906060906001600160a01b0316156109ff5760405163187b85d960e21b815260040160405180910390fd5b604080516080810182525f8082526020808301829052828401829052606080840192835260e08881015115159093526101008801511515845284519283018552875183528782015191830191909152868101515193820193909352600480549293919291830191610a6f90611f2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9b90611f2e565b8015610ae65780601f10610abd57610100808354040283529160200191610ae6565b820191905f5260205f20905b815481529060010190602001808311610ac957829003601f168201915b505050505081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001856101e001518152602001856102000151815250610b5a7f000000000000000000000000000000000000000000000000000000000000000090565b604051602001610b6b929190612000565b604051602081830303815290604052915083606001515184604001515114610be05760405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b60648201526084016105b0565b610bef82856101200151610f58565b60405163d36a274f60e01b81529093506001600160a01b0384169063d36a274f90610c1e9087906004016123ce565b5f604051808303815f87803b158015610c35575f80fd5b505af1158015610c47573d5f803e3d5ffd5b50505050610c6a8385604001518660a001515f88608001518960c0015187610f81565b50915091565b5f7f000000000000000000000000000000000000000000000000000000000000000082604051602001610ccf9291909182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b604051602081830303815290604052805190602001209050919050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663aaabadc56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d49573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103db91906125d0565b5f7f000000000000000000000000000000000000000000000000000000000000000063ffffffff164210610da057505f90565b507f000000000000000000000000000000000000000000000000000000000000000090565b60607f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f610e568285612596565b87519091505f610e668284612596565b9050604051975060208101880160405280885260208801865f828a3c846001888301883c50602089810190898501018382825e505050505050505050919050565b5f610ed45f357fffffffff0000000000000000000000000000000000000000000000000000000016610c70565b9050610ee08133611059565b610f16576040517f23dada5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b60025460ff1615610f56576040517f75884cda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f80610f6383611018565b9050610f6f84826110f9565b9150610f7a82611111565b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eeec802f888888610fbb610d6d565b898989896040518963ffffffff1660e01b8152600401610fe29897969594939291906125eb565b5f604051808303815f87803b158015610ff9575f80fd5b505af115801561100b573d5f803e3d5ffd5b5050505050505050505050565b604080513360208201524691810191909152606081018290525f90608001610ccf565b5f8061104684610dc5565b90506108308382805190602001206111bb565b5f611062610cec565b6040517f9be2a884000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301523060448301529190911690639be2a88490606401602060405180830381865afa1580156110ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f291906126a2565b9392505050565b5f8061110484610dc5565b90506108305f84836111c7565b611119610f19565b6001600160a01b0381165f81815260208190526040808220805460ff19166001908117909155805480820182559083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9190a250565b5f6110f2838330611290565b5f8347101561120b576040517fe4bbecac000000000000000000000000000000000000000000000000000000008152476004820152602481018590526044016105b0565b81515f03611245576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166110f2576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110f260208301846112b9565b81511515815260208083015115159082015260408083015115159082015260608083015115159082015260808101610834565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156113635761136361132c565b60405290565b604051610140810167ffffffffffffffff811182821017156113635761136361132c565b604051610220810167ffffffffffffffff811182821017156113635761136361132c565b604051601f8201601f1916810167ffffffffffffffff811182821017156113da576113da61132c565b604052919050565b5f8067ffffffffffffffff8411156113fc576113fc61132c565b50601f8301601f1916602001611411816113b1565b915050828152838383011115611425575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261144a575f80fd5b6110f2838335602085016113e2565b5f67ffffffffffffffff8211156114725761147261132c565b5060051b60200190565b6001600160a01b0381168114610f16575f80fd5b8015158114610f16575f80fd5b80356114a881611490565b919050565b5f82601f8301126114bc575f80fd5b81356114cf6114ca82611459565b6113b1565b8082825260208201915060208360071b8601019250858311156114f0575f80fd5b602085015b8381101561156d576080818803121561150c575f80fd5b611514611340565b813561151f8161147c565b8152602082013560028110611532575f80fd5b602082015260408201356115458161147c565b6040820152606082013561155881611490565b606082015283526020909201916080016114f5565b5095945050505050565b5f82601f830112611586575f80fd5b81356115946114ca82611459565b8082825260208201915060208360051b8601019250858311156115b5575f80fd5b602085015b8381101561156d5780358352602092830192016115ba565b80356114a88161147c565b5f606082840312156115ed575f80fd5b6040516060810167ffffffffffffffff811182821017156116105761161061132c565b60405290508082356116218161147c565b815260208301356116318161147c565b602082015260408301356116448161147c565b6040919091015292915050565b5f82601f830112611660575f80fd5b813561166e6114ca82611459565b8082825260208201915060208360051b86010192508583111561168f575f80fd5b602085015b8381101561156d5780356116a78161147c565b835260209283019201611694565b5f82601f8301126116c4575f80fd5b81356116d26114ca82611459565b8082825260208201915060208360051b8601019250858311156116f3575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611716575f80fd5b8601603f81018813611726575f80fd5b60208101356117376114ca82611459565b808282526020820191506020808460051b8601010192508a83111561175a575f80fd5b6040840193505b828410156117855783356117748161147c565b825260209384019390910190611761565b865250506020938401939190910190506116f8565b803561ffff811681146114a8575f80fd5b803567ffffffffffffffff811681146114a8575f80fd5b5f82601f8301126117d1575f80fd5b81356117df6114ca82611459565b8082825260208201915060208360051b860101925085831115611800575f80fd5b602085015b8381101561156d57611816816117ab565b835260209283019201611805565b5f82601f830112611833575f80fd5b81356118416114ca82611459565b8082825260208201915060208360051b860101925085831115611862575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611885575f80fd5b611894886020838a0101611577565b84525060209283019201611867565b5f61014082840312156118b4575f80fd5b6118bc611369565b9050813567ffffffffffffffff8111156118d4575f80fd5b6118e084828501611651565b8252506118ef602083016115d2565b6020820152604082013567ffffffffffffffff81111561190d575f80fd5b611919848285016116b5565b60408301525061192b6060830161179a565b6060820152608082013567ffffffffffffffff811115611949575f80fd5b611955848285016117c2565b60808301525061196760a083016117ab565b60a082015261197860c083016117ab565b60c082015261198960e083016117ab565b60e082015261010082013567ffffffffffffffff8111156119a8575f80fd5b6119b484828501611824565b610100830152506119c861012083016115d2565b61012082015292915050565b5f82601f8301126119e3575f80fd5b81356119f16114ca82611459565b8082825260208201915060208360051b860101925085831115611a12575f80fd5b602085015b8381101561156d57803567ffffffffffffffff811115611a35575f80fd5b8601603f81018813611a45575f80fd5b6020810135611a566114ca82611459565b808282526020820191506020808460051b8601010192508a831115611a79575f80fd5b604084015b83811015611aba57803567ffffffffffffffff811115611a9c575f80fd5b611aab8d60408884010161143b565b84525060209283019201611a7e565b5086525050602093840193919091019050611a17565b5f60208284031215611ae0575f80fd5b813567ffffffffffffffff811115611af6575f80fd5b82016102608185031215611b08575f80fd5b611b1061138d565b813567ffffffffffffffff811115611b26575f80fd5b611b328682850161143b565b825250602082013567ffffffffffffffff811115611b4e575f80fd5b611b5a8682850161143b565b602083015250604082013567ffffffffffffffff811115611b79575f80fd5b611b85868285016114ad565b604083015250606082013567ffffffffffffffff811115611ba4575f80fd5b611bb086828501611577565b606083015250611bc385608084016115dd565b608082015260e082013560a0820152611bdf61010083016115d2565b60c0820152611bf1610120830161149d565b60e0820152611c03610140830161149d565b61010082015261016082013561012082015261018082013567ffffffffffffffff811115611c2f575f80fd5b611c3b86828501611577565b610140830152506101a082013567ffffffffffffffff811115611c5c575f80fd5b611c68868285016118a3565b610160830152506101c082013567ffffffffffffffff811115611c89575f80fd5b611c9586828501611577565b610180830152506101e082013567ffffffffffffffff811115611cb6575f80fd5b611cc286828501611577565b6101a0830152506102008201356101c08201526102208201356101e082015261024082013567ffffffffffffffff811115611cfb575f80fd5b611d07868285016119d4565b61020083015250949350505050565b5f8060408385031215611d27575f80fd5b823567ffffffffffffffff811115611d3d575f80fd5b8301601f81018513611d4d575f80fd5b611d5c858235602084016113e2565b95602094909401359450505050565b5f8060408385031215611d7c575f80fd5b50508035926020909101359150565b602080825282518282018190525f918401906040840190835b81811015611dcb5783516001600160a01b0316835260209384019390920191600101611da4565b509095945050505050565b5f60208284031215611de6575f80fd5b81356110f28161147c565b6001600160a01b0383168152604060208201525f611e1260408301846112b9565b949350505050565b5f60208284031215611e2a575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110f2575f80fd5b80516114a881611490565b5f610140828403128015611e76575f80fd5b50611e7f611369565b611e8883611e59565b8152611e9660208401611e59565b6020820152611ea760408401611e59565b6040820152611eb860608401611e59565b6060820152611ec960808401611e59565b6080820152611eda60a08401611e59565b60a0820152611eeb60c08401611e59565b60c0820152611efc60e08401611e59565b60e0820152611f0e6101008401611e59565b610100820152611f216101208401611e59565b6101208201529392505050565b600181811c90821680611f4257607f821691505b60208210810361078357634e487b7160e01b5f52602260045260245ffd5b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918086019190600582901b8701015f5b82811015611fda57601f19888303018452611fc58286516112b9565b60209586019594909401939150600101611fa9565b5060209b8c019b9096509490940193505050600101611f7c565b50909695505050505050565b604081525f835160e0604084015261201c6101208401826112b9565b90506020850151603f1984830301606085015261203982826112b9565b915050604085015160808401526060850151603f198483030160a085015261206182826112b9565b9150506001600160a01b0360808601511660c084015260a085015160e084015260c0850151603f198483030161010085015261209d8282611f60565b925050506110f260208301846001600160a01b03169052565b5f8151808452602084019350602083015f5b828110156121435781515f6001600160a01b03825116885260208201516002811061210157634e487b7160e01b5f52602160045260245ffd5b8060208a0152506001600160a01b03604083015116604089015260608201511515606089015260808801905080975050506020820191506001810190506120c8565b5093949350505050565b5f8151808452602084019350602083015f5b8281101561214357815186526020958601959091019060010161215f565b5f8151808452602084019350602083015f5b828110156121435781516001600160a01b031686526020958601959091019060010161218f565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457848303601f19018852815180518085526020918201918501905f5b8181101561221c5783516001600160a01b03168352602093840193909201916001016121f5565b50506020998a01999094509290920191506001016121d2565b5f8151808452602084019350602083015f5b8281101561214357815167ffffffffffffffff16865260209586019590910190600101612247565b5f82825180855260208501945060208160051b830101602085015f5b83811015611ff457601f198584030188526122a783835161214d565b602098890198909350919091019060010161228b565b5f815161014084526122d361014085018261217d565b905060208301516122ef60208601826001600160a01b03169052565b506040830151848203604086015261230782826121b6565b915050606083015161231f606086018261ffff169052565b50608083015184820360808601526123378282612235565b91505060a083015161235560a086018267ffffffffffffffff169052565b5060c083015161237160c086018267ffffffffffffffff169052565b5060e083015161238d60e086018267ffffffffffffffff169052565b506101008301518482036101008601526123a7828261226f565b9150506101208301516123c66101208601826001600160a01b03169052565b509392505050565b602081525f825161026060208401526123eb6102808401826112b9565b90506020840151601f1984830301604085015261240882826112b9565b9150506040840151601f1984830301606085015261242682826120b6565b9150506060840151601f19848303016080850152612444828261214d565b608086015180516001600160a01b0390811660a08801526020820151811660c088015260408201511660e087015290925090505060a084015161010084015260c08401516001600160a01b0381166101208501525060e08401518015156101408501525061010084015180151561016085015250610120840151610180840152610140840151838203601f19016101a08501526124e1828261214d565b915050610160840151601f19848303016101c085015261250182826122bd565b915050610180840151601f19848303016101e0850152612521828261214d565b9150506101a0840151601f1984830301610200850152612541828261214d565b9150506101c08401516102208401526101e0840151610240840152610200840151601f19848303016102608501526125798282611f60565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561083457610834612582565b8181038181111561083457610834612582565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156125e0575f80fd5b81516110f28161147c565b6001600160a01b03891681526101a060208201525f61260e6101a083018a6120b6565b60408381018a905263ffffffff89166060850152871515608085015286516001600160a01b0390811660a08601526020880151811660c0860152908701511660e084015290506001600160a01b038416610100830152825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529998505050505050505050565b5f602082840312156126b2575f80fd5b81516110f28161149056fea26469706673582212205a42b823d647332429ddbd516239842fb48f7f127dabfc23a1f552ac901e00e864736f6c634300081a0033610220604052348015610010575f80fd5b5060405161828438038061828483398101604081905261002f916107a8565b81606001518182845f015185602001518282604051806040016040528060018152602001603160f81b81525061006e5f836103bc60201b90919060201c565b6101205261007d8160016103bc565b61014052815160208084019190912060e052815190820120610100524660a05261010960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b031661016052600361012b838261094b565b506004610138828261094b565b505050506001600160a01b031661018052610152816103ee565b506040828101516101a0526080830151600980546001600160a01b0319166001600160a01b03909216918217905581516360bcf9b160e11b81529151909163c179f3629160048083019260209291908290030181865afa1580156101b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101dc9190610a05565b6001600160a01b03166101e052426101c05260a0820151600190600290600890601090602090851615158061021657505f848860a0015116115b8061022657505f838860a0015116115b8061023657505f828860a0015116115b8061024657505f818860a0015116115b6102975760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c207265676973747279000000000000000000000060448201526064015b60405180910390fd5b60a08701516102005260c087015151603210156102f65760405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e677468000000000000604482015260640161028e565b5f5b8760c0015151811015610395578760c00151818151811061031b5761031b610a27565b60200260200101515160041461038d5760405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e616044820152706d652c20747970652c2064657461696c5d60781b606482015260840161028e565b6001016102f8565b5060c087015180516103af9160069160209091019061043b565b5050505050505050610a93565b5f6020835110156103d7576103d0836103fe565b90506103e8565b816103e2848261094b565b5060ff90505b92915050565b60056103fa828261094b565b5050565b5f80829050601f81511115610428578260405163305a27a960e01b815260040161028e9190610a3b565b805161043382610a70565b179392505050565b828054828255905f5260205f20908101928215610486579160200282015b828111156104865782518051610476918491602090910190610496565b5091602001919060010190610459565b506104929291506104e6565b5090565b828054828255905f5260205f209081019282156104da579160200282015b828111156104da57825182906104ca908261094b565b50916020019190600101906104b4565b50610492929150610502565b80821115610492575f6104f9828261051e565b506001016104e6565b80821115610492575f610515828261053c565b50600101610502565b5080545f8255905f5260205f20908101906105399190610502565b50565b508054610548906108c7565b5f825580601f10610557575050565b601f0160209004905f5260205f209081019061053991905b80821115610492575f815560010161056f565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b03811182821017156105b8576105b8610582565b60405290565b604051601f8201601f191681016001600160401b03811182821017156105e6576105e6610582565b604052919050565b5f82601f8301126105fd575f80fd5b81516001600160401b0381111561061657610616610582565b610629601f8201601f19166020016105be565b81815284602083860101111561063d575f80fd5b8160208501602083015e5f918101602001919091529392505050565b6001600160a01b0381168114610539575f80fd5b805161067881610659565b919050565b5f6001600160401b0382111561069557610695610582565b5060051b60200190565b5f82601f8301126106ae575f80fd5b81516106c16106bc8261067d565b6105be565b8082825260208201915060208360051b8601019250858311156106e2575f80fd5b602085015b8381101561079e5780516001600160401b03811115610704575f80fd5b8601603f81018813610714575f80fd5b60208101516107256106bc8261067d565b808282526020820191506020808460051b8601010192508a831115610748575f80fd5b604084015b838110156107885780516001600160401b0381111561076a575f80fd5b6107798d6040888401016105ee565b8452506020928301920161074d565b50865250506020938401939190910190506106e7565b5095945050505050565b5f80604083850312156107b9575f80fd5b82516001600160401b038111156107ce575f80fd5b830160e081860312156107df575f80fd5b6107e7610596565b81516001600160401b038111156107fc575f80fd5b610808878285016105ee565b82525060208201516001600160401b03811115610823575f80fd5b61082f878285016105ee565b6020830152506040828101519082015260608201516001600160401b03811115610857575f80fd5b610863878285016105ee565b6060830152506108756080830161066d565b608082015260a0828101519082015260c08201516001600160401b0381111561089c575f80fd5b6108a88782850161069f565b60c08301525092506108be90506020840161066d565b90509250929050565b600181811c908216806108db57607f821691505b6020821081036108f957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561094657805f5260205f20601f840160051c810160208510156109245750805b601f840160051c820191505b81811015610943575f8155600101610930565b50505b505050565b81516001600160401b0381111561096457610964610582565b6109788161097284546108c7565b846108ff565b6020601f8211600181146109aa575f83156109935750848201515b5f19600385901b1c1916600184901b178455610943565b5f84815260208120601f198516915b828110156109d957878501518255602094850194600190920191016109b9565b50848210156109f657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215610a15575f80fd5b8151610a2081610659565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156108f9575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516176b5610bcf5f395f8181610649015261224c01525f61247f01525f8181610767015281816107af01526124f601525f8181610b5301528181610e480152818161145e01528181611c890152818161273f015281816130f70152613b8f01525f818161174301528181611906015281816119b801528181611a490152611b4a01525f818161058e015281816108980152818161097501528181610a1801528181610ab701528181610eaf01528181610f75015281816113ba015281816118bd015281816120d9015281816121c9015281816124090152612bf201525f612fb901525f612f8d01525f612d2601525f612cfe01525f612c5901525f612c8301525f612cad01526176b55ff3fe608060405234801561000f575f80fd5b5060043610610330575f3560e01c806384b0196e116101b3578063cf35bdd0116100f3578063dddd104a1161009e578063eb296de111610079578063eb296de11461074f578063ecda10f514610762578063f89f27ed14610789578063fd2c80ae14610791575f80fd5b8063dddd104a14610716578063e313fe3814610729578063e4e3b5351461073c575f80fd5b8063d505accf116100ce578063d505accf146106db578063d5787898146106ee578063dd62ed3e14610703575f80fd5b8063cf35bdd0146106ad578063d335b0cf146106c0578063d36a274f146106c8575f80fd5b8063aa6ca8081161015e578063b156aa0a11610139578063b156aa0a1461066b578063b677fa5614610680578063c0f38e741461068e578063ce20ece7146106a1575f80fd5b8063aa6ca80814610617578063abb1dc441461062c578063afcff50f14610644575f80fd5b806395d89b411161018e57806395d89b41146105e9578063984de9e8146105f1578063a9059cbb14610604575f80fd5b806384b0196e146105715780638d928af81461058c5780638ddf01c0146105b2575f80fd5b8063313ce5671161027e578063654cf15d1161022957806372c981861161020457806372c98186146105035780637445e37f146105165780637ecebe001461054157806381fa807c14610554575f80fd5b8063654cf15d146104da578063679aefce146104e857806370a08231146104f0575f80fd5b806354fd4d501161025957806354fd4d50146104a55780635687f2b8146104ad578063627cdcb9146104c0575f80fd5b8063313ce5671461046d5780633644e5151461047c578063451a10aa14610484575f80fd5b806316a0b3e0116102de57806323de6651116102b957806323de665114610423578063273c1adf1461043857806330adf81f14610446575f80fd5b806316a0b3e0146103f557806318160ddd1461040857806323b872dd14610410575f80fd5b8063095ea7b31161030e578063095ea7b3146103bb5780630f6480df146103ce578063132f4264146103e0575f80fd5b806301ffc9a714610334578063021eb7cd1461039e57806306fdde03146103a6575b5f80fd5b610389610342366004615a78565b7fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b60405190151581526020015b60405180910390f35b6103896107a4565b6103ae6107da565b6040516103959190615ae5565b6103896103c9366004615b16565b61086a565b6011545b604051908152602001610395565b6103e8610911565b6040516103959190615b7a565b6103d2610403366004615de8565b610dd1565b6103d2610e7f565b61038961041e366004615e31565b610f26565b610436610431366004615e31565b610fec565b005b6729a2241af62c00006103d2565b6103d27f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160128152602001610395565b6103d2611046565b610497610492366004615ee0565b61104f565b604051610395929190615f43565b6103ae6112e8565b6104366104bb366004615e31565b6112f7565b610436335f90815260026020526040902080546001019055565b67016345785d8a00006103d2565b6103d2611347565b6103d26104fe366004615f70565b61137a565b6103d2610511366004615fa2565b611425565b600954610529906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103d261054f366004615f70565b611703565b61055c611720565b60408051928352602083019190915201610395565b6105796117c2565b6040516103959796959493929190616076565b7f0000000000000000000000000000000000000000000000000000000000000000610529565b600e546105d1906801000000000000000090046001600160401b031681565b6040516001600160401b039091168152602001610395565b6103ae611820565b6103d26105ff3660046160f1565b61182f565b610389610612366004615b16565b611876565b61061f6118ee565b6040516103959190616178565b610634611979565b604051610395949392919061619e565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673611a31565b604051610395919061625f565b6709b6e64a8ec600006103d2565b6103d261069c366004616271565b611abc565b6509184e72a0006103d2565b6105296106bb366004616291565b611af2565b6103d2611b1a565b6104366106d6366004616841565b611b81565b6104366106e9366004616a7d565b611f5a565b6106f6612150565b6040516103959190616b75565b6103d2610711366004616c3b565b6123c1565b610436610724366004615f70565b612474565b6105d1610737366004616291565b6126a6565b61043661074a366004616c79565b6126e0565b600e546105d1906001600160401b031681565b6103d27f000000000000000000000000000000000000000000000000000000000000000081565b610673612965565b6010546105d1906001600160401b031681565b5f6305a39a806107d47f000000000000000000000000000000000000000000000000000000000000000042616d1e565b10905090565b6060600380546107e990616d31565b80601f016020809104026020016040519081016040528092919081815260200182805461081590616d31565b80156108605780601f1061083757610100808354040283529160200191610860565b820191905f5260205f20905b81548152906001019060200180831161084357829003601f168201915b5050505050905090565b60405163e1f21c6760e01b81523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063e1f21c67906064015b6020604051808303815f875af11580156108e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109059190616d74565b50600190505b92915050565b60408051610140810182526060808252602082018190525f9282018390528082018390526080820183905260a0820183905260c0820181905260e082015261010081018290526101208101919091526040516329ae7ec560e11b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa1580156109c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109e89190810190616dea565b81526040517f7e361bde0000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637e361bde906024015f60405180830381865afa158015610a64573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a8b9190810190616e1b565b602083015250610a99610e7f565b6040828101919091525163f29486a160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f29486a1906024016101a060405180830381865afa158015610b05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b299190616ef8565b60e08101511515606084015261010081015115156080840152610120810151151560a084015290507f0000000000000000000000000000000000000000000000000000000000000000806001600160401b03811115610b8a57610b8a615c66565b604051908082528060200260200182016040528015610bb3578160200160208202803683370190505b5060c0840152806001600160401b03811115610bd157610bd1615c66565b604051908082528060200260200182016040528015610bfa578160200160208202803683370190505b5060e08401526007545f90610c0e9061296f565b90505f610c1c60085461296f565b90505f60048410610c2e576004610c30565b835b90505f60048510610c4b57610c46600486616d1e565b610c4d565b5f5b90505f5b85811015610d86576004811015610ce757848181518110610c7457610c74616fb1565b60200260200101518860c001518281518110610c9257610c92616fb1565b602090810291909101015284610ca88483616fc5565b81518110610cb857610cb8616fb1565b60200260200101518860e001518281518110610cd657610cd6616fb1565b602002602001018181525050610d7e565b83610cf3600483616d1e565b81518110610d0357610d03616fb1565b60200260200101518860c001518281518110610d2157610d21616fb1565b60209081029190910101528382610d39600484616d1e565b610d439190616fc5565b81518110610d5357610d53616fb1565b60200260200101518860e001518281518110610d7157610d71616fb1565b6020026020010181815250505b600101610c51565b505060408051808201909152600a5464ffffffffff80821680845265010000000000909204811660209093019283526101008901919091529051166101208701525093949350505050565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9142918210610e0d57806020015191505b80515f90610e1b9084616fd8565b64ffffffffff169050610e72878781518110610e3957610e39616fb1565b6020026020010151610e6c88847f0000000000000000000000000000000000000000000000000000000000000000612b2e565b87612b96565b93505050505b9392505050565b6040517fe4dc2aa40000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa4906024015b602060405180830381865afa158015610efd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f219190616ff5565b905090565b6040517f15dacbea0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0384811660248301528381166044830152606482018390525f917f0000000000000000000000000000000000000000000000000000000000000000909116906315dacbea906084016020604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190616d74565b506001949350505050565b610ff4612be7565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161103991815260200190565b60405180910390a3505050565b5f610f21612c4d565b6060805f5b60065481101561126f575f6006828154811061107257611072616fb1565b905f5260205f2001805480602002602001604051908101604052809291908181526020015f905b82821015611141578382905f5260205f200180546110b690616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546110e290616d31565b801561112d5780601f106111045761010080835404028352916020019161112d565b820191905f5260205f20905b81548152906001019060200180831161111057829003601f168201915b505050505081526020019060010190611099565b50505050905085604051602001611158919061700c565b60405160208183030381529060405280519060200120815f8151811061118057611180616fb1565b6020026020010151604051602001611198919061700c565b604051602081830303815290604052805190602001201480156112205750846040516020016111c7919061700c565b60405160208183030381529060405280519060200120816001815181106111f0576111f0616fb1565b6020026020010151604051602001611208919061700c565b60405160208183030381529060405280519060200120145b15611266578060028151811061123857611238616fb1565b60200260200101518160038151811061125357611253616fb1565b60200260200101519350935050506112e1565b50600101611054565b506040518060400160405280600581526020017f6572726f720000000000000000000000000000000000000000000000000000008152506040518060400160405280601081526020017f64657461696c206e6f7420666f756e6400000000000000000000000000000000815250915091505b9250929050565b6060600580546107e990616d31565b6112ff612be7565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161103991815260200190565b50565b5f6040517f18e79a2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff7888aec0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec90604401602060405180830381865afa158015611401573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090b9190616ff5565b5f61142e612be7565b60408051808201909152600a5464ffffffffff80821683526501000000000090910416602082018190525f9081907f0000000000000000000000000000000000000000000000000000000000000000904290811061148d575060208401515b84515f9061149b9083616fd8565b64ffffffffff169050600488606001511080156114bc575060048860800151105b806114dc575060048860600151101580156114dc57506004886080015110155b1561150a575f6114f689606001518a608001518487612d76565b8051602090910151909650945061152d9050565b61151988606001518285612b2e565b945061152a88608001518285612b2e565b93505b5f885160018111156115415761154161618a565b036116445761157c600f5489604001518a606001518151811061156657611566616fb1565b6020026020010151612e2290919063ffffffff16565b886020015111156115a0576040516327e92f0f60e01b815260040160405180910390fd5b5f6115f489604001518a60600151815181106115be576115be616fb1565b6020026020010151878b604001518c60800151815181106115e1576115e1616fb1565b6020026020010151888d60200151612e42565b9050611616600f548a604001518b608001518151811061156657611566616fb1565b811115611636576040516327e92f0f60e01b815260040160405180910390fd5b96506116fe95505050505050565b611664600f5489604001518a608001518151811061156657611566616fb1565b88602001511115611688576040516327e92f0f60e01b815260040160405180910390fd5b5f6116dc89604001518a60600151815181106116a6576116a6616fb1565b6020026020010151878b604001518c60800151815181106116c9576116c9616fb1565b6020026020010151888d60200151612eea565b9050611616600f548a604001518b606001518151811061156657611566616fb1565b919050565b6001600160a01b0381165f9081526002602052604081205461090b565b60405163f29486a160e01b81523060048201525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f29486a1906024016101a060405180830381865afa158015611789573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ad9190616ef8565b90508060400151925080606001519150509091565b5f6060805f805f60606117d3612f86565b6117db612fb2565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546107e990616d31565b5f615875818360018111156118465761184661618a565b1461185357612fdf611857565b6130865b905061186e6118646130f3565b858363ffffffff16565b949350505050565b6040517fbeabacc80000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b038381166024830152604482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063beabacc8906064016108c5565b60405163ca4f280360e01b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015611952573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190617086565b6040517f67e0e0760000000000000000000000000000000000000000000000000000000081523060048201526060908190819081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906367e0e076906024015f60405180830381865afa1580156119fc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a2391908101906170b7565b935093509350935090919293565b6040516329ae7ec560e11b81523060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063535cfd8a906024015f60405180830381865afa158015611a95573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f219190810190616dea565b600c8281548110611acb575f80fd5b905f5260205f20018181548110611ae0575f80fd5b905f5260205f20015f91509150505481565b60128181548110611b01575f80fd5b5f918252602090912001546001600160a01b0316905081565b6040517fb45090f90000000000000000000000000000000000000000000000000000000081523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b45090f990602401610ee2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f81158015611bca5750825b90505f826001600160401b03166001148015611be55750303b155b905081158015611bf3575080155b15611c2a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611c5e57845468ff00000000000000001916680100000000000000001785555b610160860151515115801590611c805750610140860151516101608701515151145b8015611cb157507f000000000000000000000000000000000000000000000000000000000000000086610140015151145b611d025760405162461bcd60e51b815260206004820152600a60248201527f494e56415353574549470000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610160860151518051611d1d9160129160209091019061587d565b5061016086015151516001600160401b03811115611d3d57611d3d615c66565b604051908082528060200260200182016040528015611d66578160200160208202803683370190505b508051611d7b91600b9160209091019061587d565b505f5b6101608701515151811015611e015761016087015151805182908110611da657611da6616fb1565b6020026020010151600a6001018281548110611dc457611dc4616fb1565b5f918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055600101611d7e565b505f866101c0015111611e565760405162461bcd60e51b815260206004820152600a60248201527f494e564f52435354414c000000000000000000000000000000000000000000006044820152606401611cf9565b6101c0860151601155610160860151606001516010805467ffffffffffffffff191661ffff909216919091179055611e8d866134d5565b611e9b866101400151613b18565b6101608601516020810151604080830151608084015161010085015160a086015160c087015160608801516101209098015195517f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a98611eff989790913390617210565b60405180910390a18315611f5257845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b83421115611f97576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401611cf9565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611fe28c6001600160a01b03165f90815260026020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61203c82613e86565b90505f61204b82878787613ecd565b9050896001600160a01b0316816001600160a01b0316146120ab576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401611cf9565b60405163e1f21c6760e01b81526001600160a01b038b811660048301528a81166024830152604482018a90527f0000000000000000000000000000000000000000000000000000000000000000169063e1f21c67906064016020604051808303815f875af115801561211f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121439190616d74565b5050505050505050505050565b6121b4604051806101200160405280606081526020015f81526020015f815260200160608152602001606081526020015f6001600160401b031681526020015f6001600160401b031681526020015f81526020015f6001600160401b031681525090565b60405163ca4f280360e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ca4f2803906024015f60405180830381865afa158015612215573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261223c9190810190617086565b81526011546020808301919091527f0000000000000000000000000000000000000000000000000000000000000000604080840191909152600c805482518185028101850190935280835291929091905f9084015b828210156122fa575f848152602090819020830180546040805182850281018501909152818152928301828280156122e657602002820191905f5260205f20905b8154815260200190600101908083116122d2575b505050505081526020019060010190612291565b505050506060820152600d80546040805160208084028201810190925282815292919083018282801561237b57602002820191905f5260205f20905f905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116123385790505b50505050506080820152600e546001600160401b0380821660a084015268010000000000000000909104811660c0830152600f5460e08301526010541661010082015290565b6040517f927da1050000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282811660448301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063927da10590606401602060405180830381865afa158015612450573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e789190616ff5565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146124ec5760405162461bcd60e51b815260206004820152600960248201527f4f4e4c5941444d494e00000000000000000000000000000000000000000000006044820152606401611cf9565b6305a39a8061251b7f000000000000000000000000000000000000000000000000000000000000000042616d1e565b1061258e5760405162461bcd60e51b815260206004820152603e60248201527f43616e6e6f74206368616e676520757064617465207765696768742072756e6e60448201527f65722061667465722033207965617273206f66206465706c6f796d656e7400006064820152608401611cf9565b6009546001600160a01b039081169082166125eb5760405162461bcd60e51b815260206004820152600a60248201527f494e5641444452455353000000000000000000000000000000000000000000006044820152606401611cf9565b6009546001600160a01b03908116908316036126495760405162461bcd60e51b815260206004820152600b60248201527f53414d45414444524553530000000000000000000000000000000000000000006044820152606401611cf9565b6009805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384811691821790925560405190918316907fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d905f90a35050565b600d81815481106126b5575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b6009546001600160a01b0316331461273a5760405162461bcd60e51b815260206004820152600860248201527f4f4e4c59555044570000000000000000000000000000000000000000000000006044820152606401611cf9565b6127657f0000000000000000000000000000000000000000000000000000000000000000600261732c565b83146127b55760405162461bcd60e51b8152600401611cf99060208082526004908201527f574c444c00000000000000000000000000000000000000000000000000000000604082015260600190565b6008831115612878575f6127fa8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250613ef992505050565b905061281e815f8151811061281157612811616fb1565b602002602001015161416b565b5f8151811061282f5761282f616fb1565b60200260200101516007819055506128538160018151811061281157612811616fb1565b5f8151811061286457612864616fb1565b6020026020010151600881905550506128d3565b6128b38484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061416b92505050565b5f815181106128c4576128c4616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff8181168084529085166020909301839052600a805469ffffffffffffffffffff1916909117650100000000009093029290921790915590516001600160a01b038416917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc9161295791889188918791617343565b60405180910390a250505050565b6060610f216130f3565b604080516008808252610120820190925260609160208201610100803683370190505090506129a660e083901d633b9aca0061739c565b815f815181106129b8576129b8616fb1565b60209081029190910101526129d860c083901d60030b633b9aca0061739c565b816001815181106129eb576129eb616fb1565b6020908102919091010152612a0b60a083901d60030b633b9aca0061739c565b81600281518110612a1e57612a1e616fb1565b6020908102919091010152612a3e608083901d60030b633b9aca0061739c565b81600381518110612a5157612a51616fb1565b6020908102919091010152612a71606083901d60030b633b9aca0061739c565b81600481518110612a8457612a84616fb1565b6020908102919091010152612aa4604083901d60030b633b9aca0061739c565b81600581518110612ab757612ab7616fb1565b602002602001018181525050602082901d60030b633b9aca00612ada919061739c565b81600681518110612aed57612aed616fb1565b6020908102919091010152612b0a600383900b633b9aca0061739c565b81600781518110612b1d57612b1d616fb1565b602002602001018181525050919050565b5f83818360048310612b5f57612b45600488616d1e565b6008549093509150612b58600482616d1e565b9050612b72565b6004851115612b6c575060045b60075491505b5f612b7c8361296f565b9050612b8a81858985614513565b98975050505050505050565b5f61587560018311612baa57614557612bae565b6145775b90505f612bd1612bca670de0b6b3a7640000878563ffffffff16565b859061458b565b9050612bdd868261463e565b9695505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612c4b576040517f089676d5000000000000000000000000000000000000000000000000000000008152336004820152602401611cf9565b565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612ca557507f000000000000000000000000000000000000000000000000000000000000000046145b15612ccf57507f000000000000000000000000000000000000000000000000000000000000000090565b610f21604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b604080518082019091525f80825260208201528484835f60048310612dc657612da060048a616d1e565b9350612dad600489616d1e565b9250612dba600483616d1e565b91506008549050612dd9565b6004861115612dd457600491505b506007545b5f612de38261296f565b90505f612df282878b87614513565b90505f612e0183878c88614513565b604080518082019091529283526020830152509a9950505050505050505050565b5f80612e2e838561732c565b905061186e670de0b6b3a7640000826173df565b5f612e5586670429d069189e0000612e22565b821115612e8e576040517f340a453300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612e998388616fc5565b90505f612ea68883614577565b90505f612eb38887614557565b90505f612ec0838361458b565b9050612edc670de0b6b3a7640000828103908310028990612e22565b9a9950505050505050505050565b5f612efd84670429d069189e0000612e22565b821115612f36576040517f64590b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612f4b612f448487616d1e565b8690614577565b90505f612f588588614577565b90505f612f65838361458b565b90505f612f7a670de0b6b3a764000083616d1e565b9050612edc8a8261463e565b6060610f217f00000000000000000000000000000000000000000000000000000000000000005f61466a565b6060610f217f0000000000000000000000000000000000000000000000000000000000000000600161466a565b670de0b6b3a76400005f5b835181101561304c5761304261303b85838151811061300b5761300b616fb1565b602002602001015185848151811061302557613025616fb1565b602002602001015161470c90919063ffffffff16565b8390612e22565b9150600101612fea565b50805f0361090b576040517f2654368900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b670de0b6b3a76400005f5b835181101561304c576130e96130e28583815181106130b2576130b2616fb1565b60200260200101518584815181106130cc576130cc616fb1565b602002602001015161458b90919063ffffffff16565b839061463e565b9150600101613091565b60607f00000000000000000000000000000000000000000000000000000000000000005f816001600160401b0381111561312f5761312f615c66565b604051908082528060200260200182016040528015613158578160200160208202803683370190505b50600a54909150429065010000000000900464ffffffffff1680821061317c578091505b600a5460075464ffffffffff9182168403909116905f9061319c9061296f565b90508560048111156131ac575060045b6131e9825f815181106131c1576131c1616fb1565b60200260200101518383815181106131db576131db616fb1565b6020026020010151856147c0565b865f815181106131fb576131fb616fb1565b60200260200101818152505061323a8260018151811061321d5761321d616fb1565b60200260200101518383600101815181106131db576131db616fb1565b8660018151811061324d5761324d616fb1565b60200260200101818152505060028711156132b9576132958260028151811061327857613278616fb1565b60200260200101518383600201815181106131db576131db616fb1565b866002815181106132a8576132a8616fb1565b6020026020010181815250506132c5565b50939695505050505050565b60038711156132b957613301826003815181106132e4576132e4616fb1565b60200260200101518383600301815181106131db576131db616fb1565b8660038151811061331457613314616fb1565b602002602001018181525050866004036133345750939695505050505050565b5f61334060085461296f565b9050600319880160048911156133b15761338d825f8151811061336557613365616fb1565b602002602001015183838151811061337f5761337f616fb1565b6020026020010151876147c0565b886004815181106133a0576133a0616fb1565b6020026020010181815250506133bf565b509598975050505050505050565b60058911156133b1576133fb826001815181106133de576133de616fb1565b602002602001015183836001018151811061337f5761337f616fb1565b8860058151811061340e5761340e616fb1565b60200260200101818152505060068911156133b1576134568260028151811061343957613439616fb1565b602002602001015183836002018151811061337f5761337f616fb1565b8860068151811061346957613469616fb1565b60200260200101818152505060078911156133b1576134b18260038151811061349457613494616fb1565b602002602001015183836003018151811061337f5761337f616fb1565b886007815181106134c4576134c4616fb1565b6020026020010181815250506133b1565b610160810151602001516001600160a01b03166135345760405162461bcd60e51b815260206004820152600c60248201527f496e76616c69642072756c6500000000000000000000000000000000000000006044820152606401611cf9565b5f5b81610160015160800151518110156135eb575f82610160015160800151828151811061356457613564616fb1565b60200260200101516001600160401b031690506135805f614816565b8113801561359657506135936001614816565b81125b6135e25760405162461bcd60e51b815260206004820152600660248201527f494e564c414d00000000000000000000000000000000000000000000000000006044820152606401611cf9565b50600101613536565b508061016001516080015151600114806136145750806101400151518161016001516080015151145b6136605760405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606401611cf9565b61016081015160a001516001600160401b031661367c5f614816565b81138015613693575061368f6001614816565b8113155b6136df5760405162461bcd60e51b815260206004820152600860248201527f494e565f45504d580000000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151516136f06001614816565b6136fa91906173f2565b82610160015160c001516001600160401b03161280156137335750662386f26fc1000082610160015160c001516001600160401b031612155b61377f5760405162461bcd60e51b815260206004820152600a60248201527f494e565f414253574754000000000000000000000000000000000000000000006044820152606401611cf9565b5f8261016001516040015151116137d85760405162461bcd60e51b815260206004820152600960248201527f4e4f50524f564f524300000000000000000000000000000000000000000000006044820152606401611cf9565b816101400151518261016001516040015151146138375760405162461bcd60e51b815260206004820152600760248201527f4f4c4e57454947000000000000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516020810151610100909101516040517f0df61b8f0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691630df61b8f9161388d9160040161741e565b602060405180830381865afa1580156138a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138cc9190616d74565b6139185760405162461bcd60e51b815260206004820152600960248201527f494e56524c4550524d00000000000000000000000000000000000000000000006044820152606401611cf9565b5f82610160015160e001516001600160401b03161180156139535750670429d069189e000082610160015160e001516001600160401b031611155b61399f5760405162461bcd60e51b815260206004820152600b60248201527f494e564d415854524144450000000000000000000000000000000000000000006044820152606401611cf9565b6101608201516080015180516139bd91600d916020909101906158ed565b5061016082015160a0810151600e805460c08401516001600160401b0390811668010000000000000000026fffffffffffffffffffffffffffffffff199092169381169390931717905560e082015116600f5561010001518051613a2991600c9160209091019061599d565b50816101600151602001516001600160a01b03166344a01eb330846101800151856101a00151866101400151516040518563ffffffff1660e01b8152600401613a759493929190617430565b5f604051808303815f87803b158015613a8c575f80fd5b505af1158015613a9e573d5f803e3d5ffd5b50506009546101608501516040517f727cc6b60000000000000000000000000000000000000000000000000000000081526001600160a01b03909216935063727cc6b69250613aef916004016174f4565b5f604051808303815f87803b158015613b06575f80fd5b505af1158015611f52573d5f803e3d5ffd5b60075415613b515760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b60085415613b8a5760405162461bcd60e51b8152600401611cf9906020808252600490820152631a5b9a5d60e21b604082015260600190565b613bb57f000000000000000000000000000000000000000000000000000000000000000082516148d8565b5f8082516002613bc5919061732c565b6001600160401b03811115613bdc57613bdc615c66565b604051908082528060200260200182016040528015613c05578160200160208202803683370190505b5090505f5b8351811015613d1557600e60089054906101000a90046001600160401b03166001600160401b0316848281518110613c4457613c44616fb1565b60200260200101511215613c84576040517fbd39358300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838181518110613c9657613c96616fb1565b6020026020010151828281518110613cb057613cb0616fb1565b602002602001018181525050838181518110613cce57613cce616fb1565b602002602001015183613ce19190617602565b92505f82855183613cf29190616fc5565b81518110613d0257613d02616fb1565b6020908102919091010152600101613c0a565b50670de0b6b3a76400008214613d57576040517f39cf114e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600881511115613ddc575f613d6b82613ef9565b9050613d82815f8151811061281157612811616fb1565b5f81518110613d9357613d93616fb1565b6020026020010151600781905550613db78160018151811061281157612811616fb1565b5f81518110613dc857613dc8616fb1565b602002602001015160088190555050613e05565b613de58161416b565b5f81518110613df657613df6616fb1565b60200260200101516007819055505b6040805180820182524264ffffffffff81168083526020909201829052600a805469ffffffffffffffffffff191683176501000000000090930292909217909155905130917f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc91613e799185918190617621565b60405180910390a2505050565b5f61090b613e92612c4d565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80613edd88888888614915565b925092509250613eed82826149dd565b50909695505050505050565b60605f60028351613f0a91906173df565b60408051600280825260608201909252919250816020015b6060815260200190600190039081613f225750506040805160088082526101208201909252919350602082016101008036833701905050825f81518110613f6b57613f6b616fb1565b60200260200101819052505f5b600481101561403e57838181518110613f9357613f93616fb1565b6020026020010151835f81518110613fad57613fad616fb1565b60200260200101518281518110613fc657613fc6616fb1565b602090810291909101015283613fdc8383616fc5565b81518110613fec57613fec616fb1565b6020026020010151835f8151811061400657614006616fb1565b602002602001015182600461401b9190616fc5565b8151811061402b5761402b616fb1565b6020908102919091010152600101613f78565b506040805160088082526101208201909252906020820161010080368337019050508260018151811061407357614073616fb1565b60209081029190910101525f61408a600483616d1e565b90505f5b81811015614163575f6140a2826004616fc5565b90508581815181106140b6576140b6616fb1565b6020026020010151856001815181106140d1576140d1616fb1565b602002602001015183815181106140ea576140ea616fb1565b6020908102919091010152856141008583616fc5565b8151811061411057614110616fb1565b60200260200101518560018151811061412b5761412b616fb1565b6020026020010151848461413f9190616fc5565b8151811061414f5761414f616fb1565b60209081029190910101525060010161408e565b505050919050565b60605f805f60088551106143bc5784515b6008811061419e57600881065f036141965780915061419e565b5f190161417c565b50808551146141b5576008810460010192506141bc565b6008810492505b826001600160401b038111156141d4576141d4615c66565b6040519080825280602002602001820160405280156141fd578160200160208202803683370190505b5093505f5b818110156143ba5761438f633b9aca0087838151811061422457614224616fb1565b602002602001015181614239576142396173cb565b05633b9aca0088846001018151811061425457614254616fb1565b602002602001015181614269576142696173cb565b05633b9aca0089856002018151811061428457614284616fb1565b602002602001015181614299576142996173cb565b05633b9aca008a86600301815181106142b4576142b4616fb1565b6020026020010151816142c9576142c96173cb565b05633b9aca008b87600401815181106142e4576142e4616fb1565b6020026020010151816142f9576142f96173cb565b05633b9aca008c886005018151811061431457614314616fb1565b602002602001015181614329576143296173cb565b05633b9aca008d896006018151811061434457614344616fb1565b602002602001015181614359576143596173cb565b05633b9aca008e8a6007018151811061437457614374616fb1565b602002602001015181614389576143896173cb565b05614ae0565b8584815181106143a1576143a1616fb1565b6020908102919091010152600190920191600801614202565b505b825f0361441157600881046001019250826001600160401b038111156143e4576143e4615c66565b60405190808252806020026020018201604052801561440d578160200160208202803683370190505b5093505b5f81865161441f9190616d1e565b9050801561450a5760e05f835b88518110156144e7575f633b9aca008a838151811061444d5761444d616fb1565b602002602001015181614462576144626173cb565b059050637fffffff811380159061447e5750637fffffff198112155b6144ca5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b601f1984019363ffffffff909116901b919091179060010161442c565b50808786815181106144fb576144fb616fb1565b60200260200101818152505050505b50505050919050565b5f80858386018151811061452957614529616fb1565b60200260200101519050612bdd86868151811061454857614548616fb1565b602002602001015182866147c0565b5f8061456b670de0b6b3a76400008561732c565b905061186e83826173df565b5f610e7883670de0b6b3a764000084614d0e565b5f670de0b6b3a764000082036145a257508161090b565b6145b5670de0b6b3a7640000600261732c565b82036145cc576145c5838461463e565b905061090b565b6145df670de0b6b3a7640000600461732c565b8203614604575f6145f0848561463e565b90506145fc818261463e565b91505061090b565b5f61460f8484614d6c565b90505f61461e8261271061463e565b614629906001616fc5565b90506146358183616fc5565b9250505061090b565b5f8061464a838561732c565b90506001670de0b6b3a76400006001830304018115150291505092915050565b606060ff831461467d576145c583614f0a565b81805461468990616d31565b80601f01602080910402602001604051908101604052809291908181526020018280546146b590616d31565b80156147005780601f106146d757610100808354040283529160200191614700565b820191905f5260205f20905b8154815290600101906020018083116146e357829003601f168201915b5050505050905061090b565b5f670de0b6b3a7640000820361472357508161090b565b614736670de0b6b3a7640000600261732c565b8203614746576145c58384612e22565b614759670de0b6b3a7640000600461732c565b8203614776575f61476a8485612e22565b90506145fc8182612e22565b5f6147818484614d6c565b90505f6147908261271061463e565b61479b906001616fc5565b9050808210156147af575f9250505061090b565b9003905061090b565b505092915050565b5f806147d484670de0b6b3a764000061739c565b90505f8413156147fa576147e88184612e22565b6147f29086616fc5565b915050610e78565b61480c61480682617651565b84612e22565b6147f29086616d1e565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215614874576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f908213156148ca576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401611cf9565b50670de0b6b3a76400000290565b808214614911576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561494e57505f915060039050826149d3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561499f573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166149ca57505f9250600191508290506149d3565b92505f91508190505b9450945094915050565b5f8260038111156149f0576149f061618a565b036149f9575050565b6001826003811115614a0d57614a0d61618a565b03614a44576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614a5857614a5861618a565b03614a92576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b6003826003811115614aa657614aa661618a565b03614911576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401611cf9565b5f637fffffff8913801590614afa5750637fffffff198912155b8015614b0a5750637fffffff8813155b8015614b1b5750637fffffff198812155b8015614b2b5750637fffffff8713155b8015614b3c5750637fffffff198712155b8015614b4c5750637fffffff8613155b8015614b5d5750637fffffff198612155b8015614b6d5750637fffffff8513155b8015614b7e5750637fffffff198512155b8015614b8e5750637fffffff8413155b8015614b9f5750637fffffff198412155b8015614baf5750637fffffff8313155b8015614bc05750637fffffff198312155b8015614bd05750637fffffff8213155b8015614be15750637fffffff198212155b614c2d5760405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606401611cf9565b5063ffffffff1660209190911b67ffffffff000000001660409290921b6bffffffff00000000000000001660609390931b6fffffffff0000000000000000000000001660809490941b73ffffffff000000000000000000000000000000001660a09590951b77ffffffff00000000000000000000000000000000000000001660e09790971b7fffffffff000000000000000000000000000000000000000000000000000000001660c09690961b7bffffffff000000000000000000000000000000000000000000000000169590951795909517929092171717919091171790565b5f815f03614d48576040517f0a0c22c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f614d53848661732c565b9050600183600183030401811515029150509392505050565b5f815f03614d835750670de0b6b3a764000061090b565b825f03614d9157505f61090b565b60ff83901c15614dcd576040517f022701e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82614e0168056bc75e2d631000007f40000000000000000000000000000000000000000000000000000000000000006173df565b8310614e39576040517fd831731100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f670c7d713b49da000083138015614e595750670f43fc2c04ee000083125b15614e8f575f614e6884614f47565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050614e9d565b81614e998461506d565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590614ecb575068070c1cc73b00c800008113155b614f01576040517fa2f9f7e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bdd8161541f565b60605f614f1683615835565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b670de0b6b3a7640000025f806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281614f8857614f886173cb565b0590505f6ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b5f80670de0b6b3a76400008312156150a557826ec097ce7bc90715b34b9f10000000008161509d5761509d6173cb565b059250600190505b5f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000084126150f557770195e54c5dd42177f53a27172fa9ec630262827000000000840593506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000841261512d576b1425982cf597cd205cef7380840593506803782dace9d9000000015b606493840293026e01855144814a7ff805980ff00840008412615175576e01855144814a7ff805980ff008400068056bc75e2d63100000850205935068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70084126151b0576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000085020593506856bc75e2d631000000015b693f1fce3da636ea5cf85084126151e757693f1fce3da636ea5cf85068056bc75e2d631000008502059350682b5e3af16b18800000015b690127fa27722cc06cc5e2841261521e57690127fa27722cc06cc5e268056bc75e2d6310000085020593506815af1d78b58c400000015b68280e60114edb805d0384126152535768280e60114edb805d0368056bc75e2d631000008502059350680ad78ebc5ac6200000015b680ebc5fb41746121110841261527e57680ebc5fb4174612111068056bc75e2d631000009485020593015b6808f00f760a4b2db55d84126152b3576808f00f760a4b2db55d68056bc75e2d6310000085020593506802b5e3af16b1880000015b6806f5f177578893793784126152e8576806f5f177578893793768056bc75e2d63100000850205935068015af1d78b58c40000015b6806248f33704b286603841261531c576806248f33704b28660368056bc75e2d63100000850205935067ad78ebc5ac620000015b6805c548670b9510e7ac8412615350576805c548670b9510e7ac68056bc75e2d6310000085020593506756bc75e2d6310000015b5f68056bc75e2d63100000850168056bc75e2d631000008087030281615378576153786173cb565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b8205016002025f60648683010590508661540e5780615412565b805f035b9998505050505050505050565b5f680238fd42c5cf03ffff198212158015615443575068070c1cc73b00c800008213155b615479576040517fd4794efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8083121561548c57825f039250600190505b5f6806f05b59d3b200000084126154cb57506806f05b59d3b1ffffff1990920191770195e54c5dd42177f53a27172fa9ec630262827000000000615501565b6803782dace9d900000084126154fd57506803782dace9d8ffffff19909201916b1425982cf597cd205cef7380615501565b5060015b6064939093029268056bc75e2d6310000068ad78ebc5ac6200000085126155515768ad78ebc5ac61ffffff199094019368056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000851261558d576856bc75e2d630ffffff199094019368056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000085126155c757682b5e3af16b187fffff199094019368056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008512615601576815af1d78b58c3fffff199094019368056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000851261563a57680ad78ebc5ac61fffff199094019368056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000085126156735768056bc75e2d630fffff199094019368056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000085126156ac576802b5e3af16b187ffff199094019368056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000085126156e55768015af1d78b58c3ffff199094019368056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008581019086906002908280020505918201919050600368056bc75e2d631000008883020505918201919050600468056bc75e2d631000008883020505918201919050600568056bc75e2d631000008883020505918201919050600668056bc75e2d631000008883020505918201919050600768056bc75e2d631000008883020505918201919050600868056bc75e2d631000008883020505918201919050600968056bc75e2d631000008883020505918201919050600a68056bc75e2d631000008883020505918201919050600b68056bc75e2d631000008883020505918201919050600c68056bc75e2d6310000088830205059182019190505f606468056bc75e2d631000008585020586020590508561580a5780612b8a565b806ec097ce7bc90715b34b9f100000000081615828576158286173cb565b0598975050505050505050565b5f60ff8216601f81111561090b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c4b61766b565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390911617825560209092019160019091019061589b565b506158e99291506159f4565b5090565b828054828255905f5260205f20906003016004900481019282156158dd579160200282015f5b8382111561595d57835183826101000a8154816001600160401b0302191690836001600160401b031602179055509260200192600801602081600701049283019260010302615913565b80156159905782816101000a8154906001600160401b03021916905560080160208160070104928301926001030261595d565b50506158e99291506159f4565b828054828255905f5260205f209081019282156159e8579160200282015b828111156159e857825180516159d8918491602090910190615a08565b50916020019190600101906159bb565b506158e9929150615a41565b5b808211156158e9575f81556001016159f5565b828054828255905f5260205f209081019282156158dd579160200282015b828111156158dd578251825591602001919060010190615a26565b808211156158e9575f615a548282615a5d565b50600101615a41565b5080545f8255905f5260205f209081019061134491906159f4565b5f60208284031215615a88575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e78575f80fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e786020830184615ab7565b6001600160a01b0381168114611344575f80fd5b80356116fe81615af7565b5f8060408385031215615b27575f80fd5b8235615b3281615af7565b946020939093013593505050565b5f8151808452602084019350602083015f5b82811015615b70578151865260209586019590910190600101615b52565b5093949350505050565b602081525f82516101406020840152615b97610160840182615b40565b90506020840151601f19848303016040850152615bb48282615b40565b915050604084015160608401526060840151615bd4608085018215159052565b50608084015180151560a08501525060a084015180151560c08501525060c0840151838203601f190160e0850152615c0c8282615b40565b91505060e0840151601f1984830301610100850152615c2b8282615b40565b915050610100840151615c4861012085018264ffffffffff169052565b5061012084015164ffffffffff81166101408501525b509392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715615c9c57615c9c615c66565b60405290565b604051608081016001600160401b0381118282101715615c9c57615c9c615c66565b604051606081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161014081016001600160401b0381118282101715615c9c57615c9c615c66565b60405161022081016001600160401b0381118282101715615c9c57615c9c615c66565b604051601f8201601f191681016001600160401b0381118282101715615d5457615d54615c66565b604052919050565b5f6001600160401b03821115615d7457615d74615c66565b5060051b60200190565b5f82601f830112615d8d575f80fd5b8135615da0615d9b82615d5c565b615d2c565b8082825260208201915060208360051b860101925085831115615dc1575f80fd5b602085015b83811015615dde578035835260209283019201615dc6565b5095945050505050565b5f805f60608486031215615dfa575f80fd5b83356001600160401b03811115615e0f575f80fd5b615e1b86828701615d7e565b9660208601359650604090950135949350505050565b5f805f60608486031215615e43575f80fd5b8335615e4e81615af7565b92506020840135615e5e81615af7565b929592945050506040919091013590565b5f82601f830112615e7e575f80fd5b8135602083015f806001600160401b03841115615e9d57615e9d615c66565b50601f8301601f1916602001615eb281615d2c565b915050828152858383011115615ec6575f80fd5b828260208301375f92810160200192909252509392505050565b5f8060408385031215615ef1575f80fd5b82356001600160401b03811115615f06575f80fd5b615f1285828601615e6f565b92505060208301356001600160401b03811115615f2d575f80fd5b615f3985828601615e6f565b9150509250929050565b604081525f615f556040830185615ab7565b8281036020840152615f678185615ab7565b95945050505050565b5f60208284031215615f80575f80fd5b8135610e7881615af7565b60028110611344575f80fd5b80356116fe81615f8b565b5f60208284031215615fb2575f80fd5b81356001600160401b03811115615fc7575f80fd5b820160e08185031215615fd8575f80fd5b615fe0615c7a565b615fe982615f97565b81526020828101359082015260408201356001600160401b0381111561600d575f80fd5b61601986828501615d7e565b604083015250606082810135908201526080808301359082015261603f60a08301615b0b565b60a082015260c08201356001600160401b0381111561605c575f80fd5b61606886828501615e6f565b60c083015250949350505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6160b060e0830189615ab7565b82810360408401526160c28189615ab7565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152612edc8185615b40565b5f8060408385031215616102575f80fd5b82356001600160401b03811115616117575f80fd5b61612385828601615d7e565b925050602083013561613481615f8b565b809150509250929050565b5f8151808452602084019350602083015f5b82811015615b705781516001600160a01b0316865260209586019590910190600101616151565b602081525f610e78602083018461613f565b634e487b7160e01b5f52602160045260245ffd5b608081525f6161b0608083018761613f565b82810360208401528086518083526020830191506020880192505f5b8181101561622b5783518051600281106161f457634e487b7160e01b5f52602160045260245ffd5b84526020818101516001600160a01b03168186015260409182015115159185019190915293909301926060909201916001016161cc565b5050838103604085015261623f8187615b40565b91505082810360608401526162548185615b40565b979650505050505050565b602081525f610e786020830184615b40565b5f8060408385031215616282575f80fd5b50508035926020909101359150565b5f602082840312156162a1575f80fd5b5035919050565b8015158114611344575f80fd5b80356116fe816162a8565b5f82601f8301126162cf575f80fd5b81356162dd615d9b82615d5c565b8082825260208201915060208360071b8601019250858311156162fe575f80fd5b602085015b83811015615dde576080818803121561631a575f80fd5b616322615ca2565b813561632d81615af7565b8152602082013561633d81615f8b565b6020820152604082013561635081615af7565b60408201526060820135616363816162a8565b60608201528352602090920191608001616303565b5f60608284031215616388575f80fd5b616390615cc4565b9050813561639d81615af7565b815260208201356163ad81615af7565b602082015260408201356163c081615af7565b604082015292915050565b5f82601f8301126163da575f80fd5b81356163e8615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616409575f80fd5b602085015b83811015615dde57803561642181615af7565b83526020928301920161640e565b5f82601f83011261643e575f80fd5b813561644c615d9b82615d5c565b8082825260208201915060208360051b86010192508583111561646d575f80fd5b602085015b83811015615dde5780356001600160401b0381111561648f575f80fd5b8601603f8101881361649f575f80fd5b60208101356164b0615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156164d3575f80fd5b6040840193505b828410156164fe5783356164ed81615af7565b8252602093840193909101906164da565b86525050602093840193919091019050616472565b803561ffff811681146116fe575f80fd5b80356001600160401b03811681146116fe575f80fd5b5f82601f830112616549575f80fd5b8135616557615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616578575f80fd5b602085015b83811015615dde5761658e81616524565b83526020928301920161657d565b5f82601f8301126165ab575f80fd5b81356165b9615d9b82615d5c565b8082825260208201915060208360051b8601019250858311156165da575f80fd5b602085015b83811015615dde5780356001600160401b038111156165fc575f80fd5b61660b886020838a0101615d7e565b845250602092830192016165df565b5f610140828403121561662b575f80fd5b616633615ce6565b905081356001600160401b0381111561664a575f80fd5b616656848285016163cb565b82525061666560208301615b0b565b602082015260408201356001600160401b03811115616682575f80fd5b61668e8482850161642f565b6040830152506166a060608301616513565b606082015260808201356001600160401b038111156166bd575f80fd5b6166c98482850161653a565b6080830152506166db60a08301616524565b60a08201526166ec60c08301616524565b60c08201526166fd60e08301616524565b60e08201526101008201356001600160401b0381111561671b575f80fd5b6167278482850161659c565b6101008301525061673b6101208301615b0b565b61012082015292915050565b5f82601f830112616756575f80fd5b8135616764615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616785575f80fd5b602085015b83811015615dde5780356001600160401b038111156167a7575f80fd5b8601603f810188136167b7575f80fd5b60208101356167c8615d9b82615d5c565b808282526020820191506020808460051b8601010192508a8311156167eb575f80fd5b604084015b8381101561682b5780356001600160401b0381111561680d575f80fd5b61681c8d604088840101615e6f565b845250602092830192016167f0565b508652505060209384019391909101905061678a565b5f60208284031215616851575f80fd5b81356001600160401b03811115616866575f80fd5b82016102608185031215616878575f80fd5b616880615d09565b81356001600160401b03811115616895575f80fd5b6168a186828501615e6f565b82525060208201356001600160401b038111156168bc575f80fd5b6168c886828501615e6f565b60208301525060408201356001600160401b038111156168e6575f80fd5b6168f2868285016162c0565b60408301525060608201356001600160401b03811115616910575f80fd5b61691c86828501615d7e565b60608301525061692f8560808401616378565b608082015260e082013560a082015261694b6101008301615b0b565b60c082015261695d61012083016162b5565b60e082015261696f61014083016162b5565b6101008201526101608201356101208201526101808201356001600160401b0381111561699a575f80fd5b6169a686828501615d7e565b610140830152506101a08201356001600160401b038111156169c6575f80fd5b6169d28682850161661a565b610160830152506101c08201356001600160401b038111156169f2575f80fd5b6169fe86828501615d7e565b610180830152506101e08201356001600160401b03811115616a1e575f80fd5b616a2a86828501615d7e565b6101a0830152506102008201356101c08201526102208201356101e08201526102408201356001600160401b03811115616a62575f80fd5b616a6e86828501616747565b61020083015250949350505050565b5f805f805f805f60e0888a031215616a93575f80fd5b8735616a9e81615af7565b96506020880135616aae81615af7565b95506040880135945060608801359350608088013560ff81168114616ad1575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57601f19858403018852616b26838351615b40565b6020988901989093509190910190600101616b0a565b5f8151808452602084019350602083015f5b82811015615b705781516001600160401b0316865260209586019590910190600101616b4e565b602081525f82516101206020840152616b9261014084018261613f565b905060208401516040840152604084015160608401526060840151601f19848303016080850152616bc38282616aee565b9150506080840151601f198483030160a0850152616be18282616b3c565b91505060a0840151616bfe60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e0840151610100840152610100840151615c5e6101208501826001600160401b03169052565b5f8060408385031215616c4c575f80fd5b8235616c5781615af7565b9150602083013561613481615af7565b64ffffffffff81168114611344575f80fd5b5f805f8060608587031215616c8c575f80fd5b84356001600160401b03811115616ca1575f80fd5b8501601f81018713616cb1575f80fd5b80356001600160401b03811115616cc6575f80fd5b8760208260051b8401011115616cda575f80fd5b602091820195509350850135616cef81615af7565b91506040850135616cff81616c67565b939692955090935050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561090b5761090b616d0a565b600181811c90821680616d4557607f821691505b602082108103616d6357634e487b7160e01b5f52602260045260245ffd5b50919050565b80516116fe816162a8565b5f60208284031215616d84575f80fd5b8151610e78816162a8565b5f82601f830112616d9e575f80fd5b8151616dac615d9b82615d5c565b8082825260208201915060208360051b860101925085831115616dcd575f80fd5b602085015b83811015615dde578051835260209283019201616dd2565b5f60208284031215616dfa575f80fd5b81516001600160401b03811115616e0f575f80fd5b61186e84828501616d8f565b5f8060408385031215616e2c575f80fd5b82516001600160401b03811115616e41575f80fd5b616e4d85828601616d8f565b92505060208301516001600160401b03811115616e68575f80fd5b615f3985828601616d8f565b5f60808284031215616e84575f80fd5b616e8c615ca2565b90508151616e99816162a8565b81526020820151616ea9816162a8565b60208201526040820151616ebc816162a8565b60408201526060820151616ecf816162a8565b606082015292915050565b80516116fe81616c67565b805163ffffffff811681146116fe575f80fd5b5f6101a0828403128015616f0a575f80fd5b50616f13615ce6565b616f1d8484616e74565b81526080830151602082015260a0830151604082015260c08301516060820152616f4960e08401616eda565b6080820152616f5b6101008401616ee5565b60a0820152616f6d6101208401616d69565b60c0820152616f7f6101408401616d69565b60e0820152616f916101608401616d69565b610100820152616fa46101808401616d69565b6101208201529392505050565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561090b5761090b616d0a565b64ffffffffff828116828216039081111561090b5761090b616d0a565b5f60208284031215617005575f80fd5b5051919050565b5f82518060208501845e5f920191825250919050565b5f82601f830112617031575f80fd5b815161703f615d9b82615d5c565b8082825260208201915060208360051b860101925085831115617060575f80fd5b602085015b83811015615dde57805161707881615af7565b835260209283019201617065565b5f60208284031215617096575f80fd5b81516001600160401b038111156170ab575f80fd5b61186e84828501617022565b5f805f80608085870312156170ca575f80fd5b84516001600160401b038111156170df575f80fd5b6170eb87828801617022565b94505060208501516001600160401b03811115617106575f80fd5b8501601f81018713617116575f80fd5b8051617124615d9b82615d5c565b80828252602082019150602060608402850101925089831115617145575f80fd5b6020840193505b828410156171b2576060848b031215617163575f80fd5b61716b615cc4565b845161717681615f8b565b8152602085015161718681615af7565b60208201526040850151617199816162a8565b604082015282526060939093019260209091019061714c565b8096505050505060408501516001600160401b038111156171d1575f80fd5b6171dd87828801616d8f565b92505060608501516001600160401b038111156171f8575f80fd5b61720487828801616d8f565b91505092959194509250565b5f61012082016001600160a01b038c1683526101206020840152808b51808352610140850191506101408160051b860101925060208d015f5b828110156172ad5786850361013f19018452815180518087526020918201918701905f5b818110156172945783516001600160a01b031683526020938401939092019160010161726d565b5090965050506020938401939190910190600101617249565b5050505082810360408401526172c3818b616b3c565b905082810360608401526172d7818a616aee565b9150506172ef60808301886001600160401b03169052565b6001600160401b03861660a083015261ffff851660c08301526001600160a01b03841660e08301526001600160a01b038316610100830152612edc565b808202811582820484141761090b5761090b616d0a565b606080825281018490525f8560808301825b87811015617373578235825260209283019290910190600101617355565b50809250505064ffffffffff8416602083015264ffffffffff8316604083015295945050505050565b8082025f8212600160ff1b841416156173b7576173b7616d0a565b818105831482151761090b5761090b616d0a565b634e487b7160e01b5f52601260045260245ffd5b5f826173ed576173ed6173cb565b500490565b5f82617400576174006173cb565b600160ff1b82145f198414161561741957617419616d0a565b500590565b602081525f610e786020830184616aee565b6001600160a01b0385168152608060208201525f6174516080830186615b40565b82810360408401526174638186615b40565b91505082606083015295945050505050565b5f82825180855260208501945060208160051b830101602085015f5b83811015613eed57848303601f19018852815180518085526020918201918501905f5b818110156174db5783516001600160a01b03168352602093840193909201916001016174b4565b50506020998a0199909450929092019150600101617491565b602081525f8251610140602084015261751161016084018261613f565b9050602084015161752d60408501826001600160a01b03169052565b506040840151838203601f190160608501526175498282617475565b9150506060840151617561608085018261ffff169052565b506080840151838203601f190160a085015261757d8282616b3c565b91505060a084015161759a60c08501826001600160401b03169052565b5060c08401516001600160401b03811660e08501525060e08401516001600160401b03811661010085015250610100840151838203601f19016101208501526175e38282616aee565b915050610120840151615c5e6101408501826001600160a01b03169052565b8082018281125f8312801582168215821617156147b8576147b8616d0a565b606081525f6176336060830186615b40565b64ffffffffff94851660208401529290931660409091015292915050565b5f600160ff1b820361766557617665616d0a565b505f0390565b634e487b7160e01b5f52605160045260245ffdfea2646970667358221220bcea6c6a0994bb0b06cdb08224e5a2f03915d4d239370fb3ab793ce5276e563e64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e310000000000000000000000000000000000000000000000000000000000", - "nonce": "0x30", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF", - "function": null, - "arguments": [ - "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a00330000000000000000000000001b44f3514812d835eb1bdb0acb33d3fa3351ee43", - "nonce": "0x31", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21", - "function": null, - "arguments": [ - "0xA2F78ab2355fe2f984D808B5CeE7FD0A93D5270E" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000a2f78ab2355fe2f984d808b5cee7fd0a93d5270e", - "nonce": "0x32", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x7e0e5b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xfd828aabd64b53c0980c27d7e8803be127844a0349a3c593e8ef3bb090a3c1cb", - "transactionIndex": "0x61", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb8ebdb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8c547680d5825a6403c6988772f9f4d5bedc507b72d77d930a5c82ffa9fa979c", - "transactionIndex": "0x62", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xCf70bf72e52c60D4B378F302c3798fdd7247709a" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf293b4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x25dd10435d53bcca0e35a2cca2b91e05158f127f8fef0ee084716bbd8b1d08cd", - "transactionIndex": "0x63", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xd728f8c62949BbfB4E3D1701C263887F313e9B4e" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12bfdb0", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x305ab4be33ba25ab0c24149553efc55dd7b694f7b608add69a7b788ace312630", - "transactionIndex": "0x64", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3969fc", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xAde59Cfa75DCE6b47e93E248E28c97c29235952C" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x158100b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6cd885f84160ae57f081b5cb19748188b8f2ad45289f95383c74213ac3a390bf", - "transactionIndex": "0x65", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2c125b", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xcC861b24E90F51d75e58cfB99507970a2e33578c" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19f4c11", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc3eba0ffb17721895ed2698148a8d832453b86bdce58ccd484ad5357c8147c4b", - "transactionIndex": "0x66", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x473c06", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x53b66DCf51eD18B6476BAA30FcEf64F8F9e0f2Ea" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1cd74fb", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4c89a632537bd696eb61524c1a5146103d83f963941c2c3e71f0e564d34a51f3", - "transactionIndex": "0x67", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x2e28ea", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xa068Ced13A619A8355D0B739C0c2a9f824221fe1" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x20a83d4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8ddd6195957374320e5f2399d655fa97bac98a0beda36051fab55da1c2847ecd", - "transactionIndex": "0x68", - "blockHash": "0xbb049491cfe8aacd31fd93644dad8874aa6c43acde6a93e77cf39246e1238305", - "blockNumber": "0x77be51", - "gasUsed": "0x3d0ed9", - "effectiveGasPrice": "0x19524c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x5B63c707Aab8C2801371aEe459910e9489E337EA" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1f9464b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xbd7d42d43c6a78ef3a52a27b21267d5a75b416b4b3a306eaa18311a503fc4e11", - "transactionIndex": "0x6a", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x917595", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1fda6c4", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa75f27880bacec9b38ebe45d73f0f5313755cf67441b23601f71eab40b89d2a8", - "transactionIndex": "0x6b", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdA841aEEE267b4607f8F0F3622e99060D64644EF" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x202073d", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xf428e0ea33398b8b48f6702e904ed45adc97292fd4582cb7c709c62516fab18e", - "transactionIndex": "0x6c", - "blockHash": "0x49903f3a21137ed78c8c9088d225940c1a6c05528348fdfc146d246cb3ed06bc", - "blockNumber": "0x77be52", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x1a943e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x809CEbbb376A97D175570b5c71ED2a219ACd6f21" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741297063, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json deleted file mode 100644 index 3db3aaa1..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-1741774592.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x3e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", - "nonce": "0x3f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", - "function": null, - "arguments": [ - "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", - "nonce": "0x40", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x129e003", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionIndex": "0xa2", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x164bd83", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionIndex": "0xa3", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19e655c", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionIndex": "0xa4", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741774592, - "chain": 11155111, - "commit": "d423799" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json deleted file mode 100644 index 3db3aaa1..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_antimomentum.sol/11155111/run-latest.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionType": "CREATE", - "contractName": "ChainlinkOracle", - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774", - "function": null, - "arguments": [ - "0x694AA1769357215DE4FAC081bf1f309aDC325306" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x5b09d", - "value": "0x0", - "input": "0x60c060405234801561000f575f80fd5b5060405161058838038061058883398101604081905261002e916100f5565b6001600160a01b0381166100725760405162461bcd60e51b815260206004820152600760248201526624a72b20a2222960c91b604482015260640160405180910390fd5b6001600160a01b03811660808190526040805163313ce56760e01b8152905163313ce567916004808201926020929091908290030181865afa1580156100ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100de9190610122565b6100e9906012610142565b60ff1660a0525061016d565b5f60208284031215610105575f80fd5b81516001600160a01b038116811461011b575f80fd5b9392505050565b5f60208284031215610132575f80fd5b815160ff8116811461011b575f80fd5b60ff828116828216039081111561016757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516103fb61018d5f395f6101b101525f60cb01526103fb5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80633bc5de301461002d575b5f80fd5b610035610059565b60408051601a9390930b835264ffffffffff90911660208301520160405180910390f35b5f806100636100c5565b909250905064ffffffffff81166100c15760405162461bcd60e51b815260206004820152600a60248201527f494e564f52434c56414c0000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b9091565b5f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610132573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101569190610208565b509350509250505f82136101ac5760405162461bcd60e51b815260206004820152600960248201527f494e564c4444415441000000000000000000000000000000000000000000000060448201526064016100b8565b6101d77f0000000000000000000000000000000000000000000000000000000000000000600a610368565b6101e1908361037a565b94909350915050565b805169ffffffffffffffffffff81168114610203575f80fd5b919050565b5f805f805f60a0868803121561021c575f80fd5b610225866101ea565b6020870151604088015160608901519297509095509350915061024a608087016101ea565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001815b60018411156102be578085048111156102a2576102a2610256565b60018416156102b057908102905b60019390931c928002610287565b935093915050565b5f826102d457506001610362565b816102e057505f610362565b81600181146102f657600281146103005761031c565b6001915050610362565b60ff84111561031157610311610256565b50506001821b610362565b5060208310610133831016604e8410600b841016171561033f575081810a610362565b61034b5f198484610283565b805f190482111561035e5761035e610256565b0290505b92915050565b5f61037383836102c6565b9392505050565b8082025f82127f8000000000000000000000000000000000000000000000000000000000000000841416156103b1576103b1610256565b81810583148215176103625761036261025656fea26469706673582212201e167c917f4c0380e2dce65cebd88e68a741e7e8197ef5897624eb5d73060d7364736f6c634300081a0033000000000000000000000000694aa1769357215de4fac081bf1f309adc325306", - "nonce": "0x3e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionType": "CREATE", - "contractName": "UpdateWeightRunner", - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B", - "function": null, - "arguments": [ - "0x12395366299C28492682f7853424554df0b81B38", - "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4c8659", - "value": "0x0", - "input": "0x60a06040526706f05b59d3b2000060045534801561001b575f80fd5b506040516145ce3803806145ce83398101604081905261003a91610139565b6001600160a01b0382166100955760405162461bcd60e51b815260206004820152601f60248201527f41646d696e2063616e6e6f742062652064656661756c7420616464726573730060448201526064015b60405180910390fd5b6001600160a01b0381166100f75760405162461bcd60e51b8152602060048201526024808201527f657468206f7261636c652063616e6e6f742062652064656661756c74206164646044820152637265737360e01b606482015260840161008c565b6001600160a01b039182166080525f80546001600160a01b0319169190921617905561016a565b80516001600160a01b0381168114610134575f80fd5b919050565b5f806040838503121561014a575f80fd5b6101538361011e565b91506101616020840161011e565b90509250929050565b6080516143ff6101cf5f395f818161031b015281816104f40152818161081b01528181610bd901528181610e7f01528181611081015281816111ef015281816115b40152818161177d0152818161197901528181611df70152611ef101526143ff5ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638d2a47df11610109578063c179f3621161009e578063df5dd1a51161006e578063df5dd1a51461054f578063e3a11da114610562578063eb3afa7214610575578063fdc85fc414610588575f80fd5b8063c179f362146104ef578063ccfba36d14610516578063ce768b3214610529578063d4ead0b21461053c575f80fd5b8063ad7b245b116100d9578063ad7b245b146104a1578063aebdc7f3146104c0578063b16db1d0146104d3578063b5c038df146104e6575f80fd5b80638d2a47df146103f55780638e0bf8721461047c5780639c8762e11461048f578063a1cde13c14610395575f80fd5b8063446679b41161017f57806370dc6dcd1161014f57806370dc6dcd1461039d57806372058b20146103b0578063727cc6b6146103cf578063741d3c18146103e2575f80fd5b8063446679b414610319578063597257171461033f5780635e9fb0fe1461035f5780636bf44b2514610395575f80fd5b806338266b22116101ba57806338266b22146102865780633c93c031146102a65780633f485e85146102ce57806343caf8cc146102f9575f80fd5b8063215f790d146101eb5780632775e419146102145780632a03fdc91461023f5780633201189f14610271575b5f80fd5b6101fe6101f9366004613474565b61059b565b60405161020b9190613518565b60405180910390f35b610227610222366004613606565b61074f565b6040516001600160a01b03909116815260200161020b565b61026161024d366004613474565b60056020525f908152604090205460ff1681565b604051901515815260200161020b565b61028461027f36600461364d565b610783565b005b610299610294366004613474565b610a94565b60405161020b919061371e565b6102276102b4366004613474565b60086020525f90815260409020546001600160a01b031681565b6102276102dc366004613474565b6001600160a01b039081165f908152600860205260409020541690565b61030c610307366004613474565b610aa6565b60405161020b9190613769565b7f0000000000000000000000000000000000000000000000000000000000000000610227565b61035261034d366004613474565b610b19565b60405161020b919061377b565b61038761036d366004613474565b6001600160a01b03165f9081526006602052604090205490565b60405190815260200161020b565b600454610387565b6102846103ab3660046137de565b610bce565b6103876103be366004613474565b60076020525f908152604090205481565b6102846103dd366004613c97565b610cf6565b6102846103f0366004613474565b610e74565b61046c610403366004613474565b600160208181525f92835260409283902083518085019094529182015464ffffffffff8082168552650100000000009091041690830152600281015460049091015467ffffffffffffffff8083169268010000000000000000900416906001600160a01b031684565b60405161020b9493929190613cd1565b61028461048a366004613d2b565b610f8e565b5f54610227906001600160a01b031681565b6103876104af366004613474565b60066020525f908152604090205481565b6102846104ce366004613606565b611076565b6102276104e1366004613ded565b61119a565b61038760045481565b6102277f000000000000000000000000000000000000000000000000000000000000000081565b610284610524366004613e1f565b6111e4565b610284610537366004613e6e565b611521565b61028461054a366004613e9a565b6116ea565b61028461055d366004613474565b611917565b610284610570366004613474565b611a96565b6102846105833660046137de565b611dec565b610284610596366004613474565b611ee6565b6105a3613184565b6001600160a01b0382165f908152600160209081526040918290208251815460e09381028201840190945260c08101848152909391928492849184018282801561063d57602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116105f85790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b8282101561072c575f8481526020908190208301805460408051828502810185019091528181529283018282801561071857602002820191905f5260205f20905b815481526020019060010190808311610704575b5050505050815260200190600101906106c3565b50505090825250600491909101546001600160a01b031660209091015292915050565b6002602052815f5260405f208181548110610768575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6001600160a01b0383165f908152600660205260409020546008811615610807576001600160a01b038481165f908152600160205260409020600401541633146108025760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064015b60405180910390fd5b6108e2565b601081161561087457336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108025760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574207765696768742076616c7560448201527f657300000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b5f5b858110156109db57828110156109d357662386f26fc1000087878381811061090e5761090e613f18565b9050602002013512156109635760405162461bcd60e51b815260206004820152601860248201527f42656c6f77206d696e20616c6c6f77656420776569676874000000000000000060448201526064016107f9565b670dbd2fc137a3000087878381811061097e5761097e613f18565b9050602002013513156109d35760405162461bcd60e51b815260206004820152601860248201527f41626f7665206d617820616c6c6f77656420776569676874000000000000000060448201526064016107f9565b6001016108e4565b5060405163e4e3b53560e01b81526001600160a01b0385169063e4e3b53590610a0e908990899089908990600401613f57565b5f604051808303815f87803b158015610a25575f80fd5b505af1158015610a37573d5f803e3d5ffd5b50505050836001600160a01b0316336001600160a01b03167f0c188c3f85c8cdb09e4055c9d8016b36cc23162ab457635e7c040941f0f3ce7e88888742604051610a849493929190613f91565b60405180910390a3505050505050565b6060610aa0825f611f92565b92915050565b6001600160a01b0381165f90815260026020908152604091829020805483518184028101840190945280845260609392830182828015610b0d57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610aef575b50505050509050919050565b6001600160a01b0381165f908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610bc3575f84815260209081902083018054604080518285028101850190915281815292830182828015610baf57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610b91575b505050505081526020019060010190610b50565b505050509050919050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c325760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115610cb05760405162461bcd60e51b815260206004820152602160248201527f55706c69667420666565206d757374206265206c657373207468616e2031303060448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b600480549082905560408051828152602081018490527f7f0e453f7deb9a7f69060510bc7a36b3fb02fd02208c55de1426c5901796687591015b60405180910390a15050565b335f908152600860205260409020546001600160a01b031615610d5b5760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f81604001515111610da55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b335f9081526002602052604090205415610e015760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f816060015161ffff1611610e675760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b610e718133612583565b50565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ed85760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b038116610f2e5760405162461bcd60e51b815260206004820152600f60248201527f494e564554485553444f5241434c45000000000000000000000000000000000060448201526064016107f9565b5f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f4e76cd2b10c38c98ffe935e9b3e851cf6d1078a0a6f487a0636af025eded51589060200160405180910390a150565b60808101516001600160a01b039081165f90815260086020526040902054163314610ffb5760405162461bcd60e51b815260206004820152601560248201527f4f4e4c5952554c4543414e53455457454947485453000000000000000000000060448201526064016107f9565b60808101516001600160a01b03165f908152600660209081526040909120549081166110695760405162461bcd60e51b815260206004820152601a60248201527f46554e4354494f4e4e4f54415050524f564544464f52504f4f4c00000000000060448201526064016107f9565b61107282612997565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110da5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0382165f9081526006602052604090205481036111405760405162461bcd60e51b815260206004820152600a60248201527f44555045414354494f4e0000000000000000000000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f81815260066020526040908190208390555133907f3a309afa88cec49f72c320ed28a537fb2892836e81170d3adf2560ae12c68fdf9061118e9085815260200190565b60405180910390a35050565b6003602052825f5260405f2082815481106111b3575f80fd5b905f5260205f200181815481106111c8575f80fd5b5f918252602090912001546001600160a01b0316925083915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112485760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b03811661129e5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420706f6f6c206164647265737300000000000000000000000060448201526064016107f9565b806001600160a01b031663021eb7cd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112fe9190613fc3565b61134a5760405162461bcd60e51b815260206004820152601260248201527f506f6f6c206e6f7720696d6d757461626c65000000000000000000000000000060448201526064016107f9565b6001600160a01b038181165f9081526008602052604090205416156113b15760405162461bcd60e51b815260206004820152601060248201527f52756c6520616c7265616479207365740000000000000000000000000000000060448201526064016107f9565b5f826040015151116113fb5760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b6001600160a01b0381165f90815260026020526040902054156114605760405162461bcd60e51b815260206004820152601560248201527f706f6f6c2072756c6520616c726561647920736574000000000000000000000060448201526064016107f9565b5f826060015161ffff16116114c65760405162461bcd60e51b815260206004820152602660248201527f55706461746520696e74657276616c206d75737420626520677265617465722060448201526507468616e20360d41b60648201526084016107f9565b6114d08282612583565b602080830151604080513381526001600160a01b038086169482019490945292909116908201527f452964d7e38fbfb6f59e8cfb65ab1369a361c9ae44a2fb79c57af93585d72fb490606001610cea565b6001600160a01b0382165f9081526006602052604090205460088116156115a0576001600160a01b038381165f9081526001602052604090206004015416331461159b5760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b61167b565b601081161561160d57336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461159b5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602260248201527f4e6f207065726d697373696f6e20746f20736574206c6173742072756e20746960448201527f6d6500000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b0383165f81815260016020818152604092839020909101805464ffffffffff191664ffffffffff87169081179091558251938452908301527f79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc910160405180910390a1505050565b6001600160a01b0384165f908152600660205260409020546008811615611769576001600160a01b038581165f908152600160205260409020600401541633146117645760405162461bcd60e51b815260206004820152600b60248201526a27a7262ca6a0a720a3a2a960a91b60448201526064016107f9565b611844565b60108116156117d657336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117645760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207065726d697373696f6e20746f2073657420696e7465726d656469617460448201527f652076616c75657300000000000000000000000000000000000000000000000060648201526084016107f9565b6001600160a01b038086165f90815260086020526040908190205490517f44a01eb300000000000000000000000000000000000000000000000000000000815291169081906344a01eb3906118a3908990899089908990600401613fe2565b5f604051808303815f87803b1580156118ba575f80fd5b505af11580156118cc573d5f803e3d5ffd5b50505050856001600160a01b0316336001600160a01b03167fd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d878787604051610a8493929190614027565b806001600160a01b03811661196e5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206f7261636c6520616464726573730000000000000000000060448201526064016107f9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146119d25760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f9081526005602052604090205460ff16611a18576001600160a01b0381165f908152600560205260409020805460ff19166001179055611a60565b60405162461bcd60e51b815260206004820152601460248201527f4f7261636c6520616c726561647920616464656400000000000000000000000060448201526064016107f9565b6040516001600160a01b038216907e47706786c922d17b39285dc59d696bafea72c0b003d3841ae1202076f4c2e4905f90a25050565b6001600160a01b038082165f908152600860205260409020541680611afd5760405162461bcd60e51b815260206004820152601360248201527f506f6f6c206e6f7420726567697374657265640000000000000000000000000060448201526064016107f9565b6001600160a01b0382165f9081526001602090815260408083208151815460e09481028201850190935260c08101838152909391928492849190840182828015611b9757602002820191905f5260205f20905f905b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020019060080190602082600701049283019260010382029150808411611b525790505b5050509183525050604080518082018252600184015464ffffffffff8082168352650100000000009091041660208281019190915280840191909152600284015467ffffffffffffffff808216848601526801000000000000000090910416606084015260038401805483518184028101840190945280845260809094019390915f9084015b82821015611c86575f84815260209081902083018054604080518285028101850190915281815292830182828015611c7257602002820191905f5260205f20905b815481526020019060010190808311611c5e575b505050505081526020019060010190611c1d565b50505090825250600491909101546001600160a01b03166020918201528181015190810151905191925064ffffffffff90811691611cc5911642614070565b1015611d135760405162461bcd60e51b815260206004820152601260248201527f557064617465206e6f7420616c6c6f776564000000000000000000000000000060448201526064016107f9565b6001600160a01b0383165f908152600660205260409020546001811615611d7857611d3e8483612c8a565b6040516001600160a01b0385169033907f5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928905f90a3611de6565b60405162461bcd60e51b815260206004820152602360248201527f506f6f6c206e6f7420617070726f76656420746f20706572666f726d2075706460448201527f617465000000000000000000000000000000000000000000000000000000000060648201526084016107f9565b50505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e505760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b670de0b6b3a7640000811115611ea85760405162461bcd60e51b815260206004820152601f60248201527f5377617020666565206d757374206265206c657373207468616e20313030250060448201526064016107f9565b600480549082905560408051828152602081018490527f7bc4745e401d493ca08acd9501be03b4df00544341ee17b1819898db343dece69101610cea565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f4a5760405162461bcd60e51b815260206004820152600960248201526827a7262ca0a226a4a760b91b60448201526064016107f9565b6001600160a01b0381165f81815260056020526040808220805460ff19169055517fcaae23b6deed9cee0d3372e8c640972bec6f2308e756ff89a3b1302c89daf9f79190a250565b60608180611fb957506001600160a01b0383165f9081526006602052604090205460021615155b6120055760405162461bcd60e51b815260206004820152601760248201527f4e6f7420616c6c6f77656420746f20676574206461746100000000000000000060448201526064016107f9565b6001600160a01b0383165f9081526002602090815260408083208054825181850281018501909352808352919290919083018282801561206c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161204e575b505050505090505f815190505f8167ffffffffffffffff811115612092576120926137f5565b6040519080825280602002602001820160405280156120bb578160200160208202803683370190505b5093505f866001600160a01b0316630f6480df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211f9190614083565b90505f5b8381101561257857604080518082019091525f808252602082015260055f87848151811061215357612153613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166121c55760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b8582815181106121d7576121d7613f18565b60200260200101516001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa925050508015612237575060408051601f3d908101601f191682019092526122349181019061409a565b60015b612249575f808252602082015261225e565b601a9190910b825264ffffffffff1660208201525b6122688342614070565b816020015164ffffffffff1611156122a457805f0151601a0b87838151811061229357612293613f18565b60200260200101818152505061256f565b6001600160a01b0389165f9081526003602052604090208054839081106122cd576122cd613f18565b905f5260205f20018054905093508360010361232b5760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60015b84811015612548576001600160a01b038a165f908152600360205260408120805460059291908690811061236457612364613f18565b905f5260205f2001838154811061237d5761237d613f18565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff166123f05760405162461bcd60e51b815260206004820152601360248201527f4f7261636c65206e6f7420617070726f7665640000000000000000000000000060448201526064016107f9565b6001600160a01b038a165f90815260036020526040902080548490811061241957612419613f18565b905f5260205f2001818154811061243257612432613f18565b905f5260205f20015f9054906101000a90046001600160a01b03166001600160a01b0316633bc5de306040518163ffffffff1660e01b81526004016040805180830381865afa9250505080156124a5575060408051601f3d908101601f191682019092526124a29181019061409a565b60015b6124b7575f80835260208301526124cc565b601a9190910b835264ffffffffff1660208301525b6124d68442614070565b826020015164ffffffffff1611612548576124f2600186614070565b81036125405760405162461bcd60e51b815260206004820181905260248201527f4e6f206672657368206f7261636c652076616c75657320617661696c61626c6560448201526064016107f9565b60010161232e565b50805f0151601a0b87838151811061256257612562613f18565b6020026020010181815250505b50600101612123565b505050505092915050565b5f5b8260400151518110156126d2575f836040015182815181106125a9576125a9613f18565b602002602001015151116125f55760405162461bcd60e51b8152602060048201526013602482015272456d707479206f7261636c657320617272617960681b60448201526064016107f9565b5f5b8360400151828151811061260d5761260d613f18565b6020026020010151518110156126c95760055f8560400151848151811061263657612636613f18565b6020026020010151838151811061264f5761264f613f18565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff166126c15760405162461bcd60e51b815260206004820152601960248201527f4e6f7420617070726f766564206f7261636c656420757365640000000000000060448201526064016107f9565b6001016125f7565b50600101612585565b505f82604001515167ffffffffffffffff8111156126f2576126f26137f5565b60405190808252806020026020018201604052801561271b578160200160208202803683370190505b5090505f5b836040015151811015612796578360400151818151811061274357612743613f18565b60200260200101515f8151811061275c5761275c613f18565b602002602001015182828151811061277657612776613f18565b6001600160a01b0390921660209283029190910190910152600101612720565b506001600160a01b0382165f90815260026020908152604090912082516127bf928401906131df565b506040808401516001600160a01b0384165f9081526003602090815292902081516127f0939192919091019061324f565b506020838101516001600160a01b038481165f818152600885526040808220805473ffffffffffffffffffffffffffffffffffffffff191695851695909517909455835160c080820186526080808b01518352865180880188528481526060808d015161ffff16828b0152848a019190915260a0808d015167ffffffffffffffff908116868b0152938d0151909316908401526101008b0151908301526101208a015190941693810193909352908152600184529190912081518051929391926128bd92849201906132a6565b5060208281015180516001840180549284015164ffffffffff908116650100000000000269ffffffffffffffffffff199094169216919091179190911790556040830151600283018054606086015167ffffffffffffffff90811668010000000000000000026fffffffffffffffffffffffffffffffff199092169316929092179190911790556080830151805161295b9260038501920190613359565b5060a091909101516004909101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909216919091179055505050565b8051515f906129a79060026140cc565b90505f8167ffffffffffffffff8111156129c3576129c36137f5565b6040519080825280602002602001820160405280156129ec578160200160208202803683370190505b5090506001600160ff1b035f5b845151811015612ba8578451805182908110612a1757612a17613f18565b6020026020010151838281518110612a3157612a31613f18565b6020026020010181815250505f8560400151865f01518381518110612a5857612a58613f18565b602002602001015187602001518481518110612a7657612a76613f18565b6020026020010151612a8891906140e3565b612a92919061411d565b90508084875f01515184612aa69190614155565b81518110612ab657612ab6613f18565b6020026020010181815250505f612ae9612adf6001895f015151612ada9190614070565b612de1565b8860600151612ea3565b612af36001612de1565b612afd91906140e3565b90505f805f841315612b40578851805186908110612b1d57612b1d613f18565b602002602001015183039150838281612b3857612b38614109565b059050612b8d565b83612b5357506001600160ff1b03612b8d565b60608901518951805187908110612b6c57612b6c613f18565b6020026020010151039150835f19028281612b8957612b89614109565b0590505b85811215612b99578095505b846001019450505050506129f9565b5064ffffffffff612bc14260040b647fffffffff6140e3565b821215612bd857612bd54260040b83614168565b90505b608085015160405163e4e3b53560e01b81526001600160a01b0382169163e4e3b53591612c0b918791869060040161418f565b5f604051808303815f87803b158015612c22575f80fd5b505af1158015612c34573d5f803e3d5ffd5b5050505084608001516001600160a01b03167f30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac633858442604051612c7b94939291906141c7565b60405180910390a25050505050565b5f826001600160a01b031663f89f27ed6040518163ffffffff1660e01b81526004015f60405180830381865afa158015612cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612ced9190810190614207565b90505f815167ffffffffffffffff811115612d0a57612d0a6137f5565b604051908082528060200260200182016040528015612d33578160200160208202803683370190505b5090505f5b8151811015612d8057828181518110612d5357612d53613f18565b6020026020010151828281518110612d6d57612d6d613f18565b6020908102919091010152600101612d38565b505f612d8d858386612f91565b509050612dda6040518060a0016040528084815260200183815260200186602001516020015160040b8152602001866060015160070b8152602001876001600160a01b0316815250612997565b5050505050565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215612e3f576040517fe608e18b000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315612e95576040517f71f72a31000000000000000000000000000000000000000000000000000000008152600481018390526024016107f9565b50670de0b6b3a76400000290565b5f600160ff1b831480612eb95750600160ff1b82145b15612ef0576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512612eff5784612f03565b845f035b91505f8412612f125783612f16565b835f035b90505f612f23838361308f565b90506001600160ff1b03811115612f69576040517fbf79e8d9000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f19808713908613808218600114612f815782612f85565b825f035b98975050505050505050565b606080612f9f856001611f92565b6001600160a01b038087165f908152600860205260409081902054608087015187518884015160608a015194517fb9579b0d000000000000000000000000000000000000000000000000000000008152969750929094169463b9579b0d94613013948b9489948e94909392906004016142d2565b5f604051808303815f875af115801561302e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526130559190810190614207565b6001600160a01b03959095165f90815260016020819052604090912001805464ffffffffff19164264ffffffffff16179055939492505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a764000081106130ea576040517fd31b3402000000000000000000000000000000000000000000000000000000008152600481018290526024016107f9565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f036131265780670de0b6b3a7640000850401945050505050610aa0565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b6040518060c00160405280606081526020016131bf60405180604001604052805f64ffffffffff1681526020015f64ffffffffff1681525090565b81525f602082018190526040820181905260608083015260809091015290565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906131fd565b5061324b9291506133b0565b5090565b828054828255905f5260205f2090810192821561329a579160200282015b8281111561329a578251805161328a9184916020909101906131df565b509160200191906001019061326d565b5061324b9291506133c4565b828054828255905f5260205f209060030160049004810192821561323f579160200282015f5b8382111561331857835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026132cc565b801561334c5782816101000a81549067ffffffffffffffff0219169055600801602081600701049283019260010302613318565b505061324b9291506133b0565b828054828255905f5260205f209081019282156133a4579160200282015b828111156133a457825180516133949184916020909101906133e0565b5091602001919060010190613377565b5061324b929150613419565b5b8082111561324b575f81556001016133b1565b8082111561324b575f6133d78282613435565b506001016133c4565b828054828255905f5260205f2090810192821561323f579160200282015b8281111561323f5782518255916020019190600101906133fe565b8082111561324b575f61342c8282613435565b50600101613419565b5080545f8255905f5260205f2090810190610e7191906133b0565b6001600160a01b0381168114610e71575f80fd5b803561346f81613450565b919050565b5f60208284031215613484575f80fd5b813561348f81613450565b9392505050565b5f82825180855260208501945060208160051b830101602085015f5b8381101561350c57848303601f19018852815180518085526020918201918501905f5b818110156134f35783518352602093840193909201916001016134d5565b50506020998a01999094509290920191506001016134b2565b50909695505050505050565b6020808252825160e083830152805161010084018190525f92919091019082906101208501905b8083101561356c5767ffffffffffffffff845116825260208201915060208401935060018301925061353f565b50602086015192506135956040860184805164ffffffffff908116835260209182015116910152565b604086015167ffffffffffffffff811660808701529250606086015167ffffffffffffffff811660a087015292506080860151858203601f190160c087015292506135e08184613496565b9250505060a08401516135fe60e08501826001600160a01b03169052565b509392505050565b5f8060408385031215613617575f80fd5b823561362281613450565b946020939093013593505050565b64ffffffffff81168114610e71575f80fd5b803561346f81613630565b5f805f805f60808688031215613661575f80fd5b853567ffffffffffffffff811115613677575f80fd5b8601601f81018813613687575f80fd5b803567ffffffffffffffff81111561369d575f80fd5b8860208260051b84010111156136b1575f80fd5b6020918201965094506136c5908701613464565b92506136d360408701613642565b949793965091946060013592915050565b5f8151808452602084019350602083015f5b828110156137145781518652602095860195909101906001016136f6565b5093949350505050565b602081525f61348f60208301846136e4565b5f8151808452602084019350602083015f5b828110156137145781516001600160a01b0316865260209586019590910190600101613742565b602081525f61348f6020830184613730565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156137d257603f198786030184526137bd858351613730565b945060209384019391909101906001016137a1565b50929695505050505050565b5f602082840312156137ee575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561382d5761382d6137f5565b60405290565b60405160a0810167ffffffffffffffff8111828210171561382d5761382d6137f5565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387f5761387f6137f5565b604052919050565b5f67ffffffffffffffff8211156138a0576138a06137f5565b5060051b60200190565b5f82601f8301126138b9575f80fd5b81356138cc6138c782613887565b613856565b8082825260208201915060208360051b8601019250858311156138ed575f80fd5b602085015b8381101561391357803561390581613450565b8352602092830192016138f2565b5095945050505050565b5f82601f83011261392c575f80fd5b813561393a6138c782613887565b8082825260208201915060208360051b86010192508583111561395b575f80fd5b602085015b8381101561391357803567ffffffffffffffff81111561397e575f80fd5b8601603f8101881361398e575f80fd5b602081013561399f6138c782613887565b808282526020820191506020808460051b8601010192508a8311156139c2575f80fd5b6040840193505b828410156139ed5783356139dc81613450565b8252602093840193909101906139c9565b86525050602093840193919091019050613960565b803561ffff8116811461346f575f80fd5b803567ffffffffffffffff8116811461346f575f80fd5b5f82601f830112613a39575f80fd5b8135613a476138c782613887565b8082825260208201915060208360051b860101925085831115613a68575f80fd5b602085015b8381101561391357613a7e81613a13565b835260209283019201613a6d565b5f82601f830112613a9b575f80fd5b8135613aa96138c782613887565b8082825260208201915060208360051b860101925085831115613aca575f80fd5b602085015b83811015613913578035835260209283019201613acf565b5f82601f830112613af6575f80fd5b8135613b046138c782613887565b8082825260208201915060208360051b860101925085831115613b25575f80fd5b602085015b8381101561391357803567ffffffffffffffff811115613b48575f80fd5b613b57886020838a0101613a8c565b84525060209283019201613b2a565b5f6101408284031215613b77575f80fd5b613b7f613809565b9050813567ffffffffffffffff811115613b97575f80fd5b613ba3848285016138aa565b825250613bb260208301613464565b6020820152604082013567ffffffffffffffff811115613bd0575f80fd5b613bdc8482850161391d565b604083015250613bee60608301613a02565b6060820152608082013567ffffffffffffffff811115613c0c575f80fd5b613c1884828501613a2a565b608083015250613c2a60a08301613a13565b60a0820152613c3b60c08301613a13565b60c0820152613c4c60e08301613a13565b60e082015261010082013567ffffffffffffffff811115613c6b575f80fd5b613c7784828501613ae7565b61010083015250613c8b6101208301613464565b61012082015292915050565b5f60208284031215613ca7575f80fd5b813567ffffffffffffffff811115613cbd575f80fd5b613cc984828501613b66565b949350505050565b60a08101613cf38287805164ffffffffff908116835260209182015116910152565b67ffffffffffffffff8516604083015267ffffffffffffffff841660608301526001600160a01b038316608083015295945050505050565b5f60208284031215613d3b575f80fd5b813567ffffffffffffffff811115613d51575f80fd5b820160a08185031215613d62575f80fd5b613d6a613833565b813567ffffffffffffffff811115613d80575f80fd5b613d8c86828501613a8c565b825250602082013567ffffffffffffffff811115613da8575f80fd5b613db486828501613a8c565b602083015250604082810135908201526060808301359082015260809091013590613dde82613450565b60808101919091529392505050565b5f805f60608486031215613dff575f80fd5b8335613e0a81613450565b95602085013595506040909401359392505050565b5f8060408385031215613e30575f80fd5b823567ffffffffffffffff811115613e46575f80fd5b613e5285828601613b66565b9250506020830135613e6381613450565b809150509250929050565b5f8060408385031215613e7f575f80fd5b8235613e8a81613450565b91506020830135613e6381613630565b5f805f8060808587031215613ead575f80fd5b8435613eb881613450565b9350602085013567ffffffffffffffff811115613ed3575f80fd5b613edf87828801613a8c565b935050604085013567ffffffffffffffff811115613efb575f80fd5b613f0787828801613a8c565b949793965093946060013593505050565b634e487b7160e01b5f52603260045260245ffd5b8183526020830192505f815f5b84811015613714578135865260209586019590910190600101613f39565b606081525f613f6a606083018688613f2c565b90506001600160a01b038416602083015264ffffffffff8316604083015295945050505050565b606081525f613fa4606083018688613f2c565b64ffffffffff9485166020840152929093166040909101529392505050565b5f60208284031215613fd3575f80fd5b8151801515811461348f575f80fd5b6001600160a01b0385168152608060208201525f61400360808301866136e4565b828103604084015261401581866136e4565b91505082606083015295945050505050565b606081525f61403960608301866136e4565b828103602084015261404b81866136e4565b915050826040830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610aa057610aa061405c565b5f60208284031215614093575f80fd5b5051919050565b5f80604083850312156140ab575f80fd5b825180601a0b81146140bb575f80fd5b6020840151909250613e6381613630565b8082028115828204841417610aa057610aa061405c565b8181035f8312801583831316838312821617156141025761410261405c565b5092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261413757634e487b7160e01b5f52601260045260245ffd5b600160ff1b82145f19841416156141505761415061405c565b500590565b80820180821115610aa057610aa061405c565b8082018281125f8312801582168215821617156141875761418761405c565b505092915050565b606081525f6141a160608301866136e4565b90506001600160a01b038416602083015264ffffffffff83166040830152949350505050565b6001600160a01b0385168152608060208201525f6141e860808301866136e4565b64ffffffffff9485166040840152929093166060909101529392505050565b5f60208284031215614217575f80fd5b815167ffffffffffffffff81111561422d575f80fd5b8201601f8101841361423d575f80fd5b805161424b6138c782613887565b8082825260208201915060208360051b85010192508683111561426c575f80fd5b6020840193505b8284101561428e578351825260209384019390910190614273565b9695505050505050565b5f8151808452602084019350602083015f5b8281101561371457815167ffffffffffffffff168652602095860195909101906001016142aa565b60e081525f6142e460e083018a6136e4565b82810360208401526142f6818a6136e4565b90506001600160a01b0388166040840152828103606084015280875180835260208301915060208160051b84010160208a015f5b8381101561438457858303601f19018552815180518085526020918201918501905f5b8181101561436b57835183526020938401939092019160010161434d565b505060209687019690945092909201915060010161432a565b50508581036080870152614398818a614298565b9450505050506143b460a083018567ffffffffffffffff169052565b67ffffffffffffffff831660c0830152612f8556fea2646970667358221220631e9ea6385ae137d9b35d69fe3dfb0f31a348ed158b17a695893792794ff15864736f6c634300081a003300000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000d6bd5e709ef92c0c488f6040bdcb9db8ba80d774", - "nonce": "0x3f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionType": "CREATE", - "contractName": "AntiMomentumUpdateRule", - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D", - "function": null, - "arguments": [ - "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0x4af3cd", - "value": "0x0", - "input": "0x60a060405234801561000f575f80fd5b5060405161421738038061421783398101604081905261002e91610234565b6001600160a01b03811660805260408051808201909152600c81526b416e74694d6f6d656e74756d60a01b602082015260029061006b90826102f9565b506040805160038082526080820190925290816020015b606081526020019060019003908161008257505080516100aa91600391602090910190610176565b506040518060a00160405280606c8152602001614155606c913960035f815481106100d7576100d76103b3565b905f5260205f200190816100eb91906102f9565b506040518060800160405280605681526020016141c1605691396003600181548110610119576101196103b3565b905f5260205f2001908161012d91906102f9565b506040518060800160405280605e81526020016140f7605e9139600360028154811061015b5761015b6103b3565b905f5260205f2001908161016f91906102f9565b50506103c7565b828054828255905f5260205f209081019282156101ba579160200282015b828111156101ba57825182906101aa90826102f9565b5091602001919060010190610194565b506101c69291506101ca565b5090565b808211156101c6575f6101dd82826101e6565b506001016101ca565b5080546101f290610275565b5f825580601f10610201575050565b601f0160209004905f5260205f209081019061021d9190610220565b50565b5b808211156101c6575f8155600101610221565b5f60208284031215610244575f80fd5b81516001600160a01b038116811461025a575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061028957607f821691505b6020821081036102a757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102f457805f5260205f20601f840160051c810160208510156102d25750805b601f840160051c820191505b818110156102f1575f81556001016102de565b50505b505050565b81516001600160401b0381111561031257610312610261565b610326816103208454610275565b846102ad565b6020601f821160018114610358575f83156103415750848201515b5f19600385901b1c1916600184901b1784556102f1565b5f84815260208120601f198516915b828110156103875787850151825560209485019460019092019101610367565b50848210156103a457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b608051613d116103e65f395f81816103cb01526104670152613d115ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c806344a01eb31161004d57806344a01eb3146100c7578063b9579b0d146100dc578063fe8cb6d7146100fc575f80fd5b806306fdde03146100735780630df61b8f1461009157806333417d8e146100b4575b5f80fd5b61007b61011d565b6040516100889190613768565b60405180910390f35b6100a461009f3660046137e5565b6101a9565b6040519015158152602001610088565b61007b6100c2366004613824565b610387565b6100da6100d5366004613901565b6103ae565b005b6100ef6100ea366004613994565b61045a565b6040516100889190613a93565b61010f61010a366004613ad5565b610c71565b604051908152602001610088565b6002805461012a90613afd565b80601f016020809104026020016040519081016040528092919081815260200182805461015690613afd565b80156101a15780601f10610178576101008083540402835291602001916101a1565b820191905f5260205f20905b81548152906001019060200180831161018457829003601f168201915b505050505081565b5f60018214806101ea57506002821480156101ea5750828260018181106101d2576101d2613b35565b90506020028101906101e49190613b49565b90506001145b1561037e575f83835f81811061020257610202613b35565b90506020028101906102149190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f92018290525084519495509361ffff161515925061025b915050575f61025e565b60015b60ff1690505f5b825181101561029e575f83828151811061028157610281613b35565b602002602001015113610296575f915061029e565b600101610265565b506002841480156102d55750848460018181106102bd576102bd613b35565b90506020028101906102cf9190613b49565b90506001145b1561036d57848460018181106102ed576102ed613b35565b90506020028101906102ff9190613b49565b5f81811061030f5761030f613b35565b905060200201355f148061036657506103286001610c9c565b8585600181811061033b5761033b613b35565b905060200281019061034d9190613b49565b5f81811061035d5761035d613b35565b90506020020135145b61036d57505f5b8061ffff1660011492505050610381565b505f5b92915050565b60038181548110610396575f80fd5b905f5260205f20015f91509050805461012a90613afd565b336001600160a01b03851614806103ed5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b61043e5760405162461bcd60e51b815260206004820152600660248201527f554e41555448000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610449848483610d5e565b610454848383610de8565b50505050565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d45760405162461bcd60e51b815260206004820152600b60248201527f554e415554485f43414c430000000000000000000000000000000000000000006044820152606401610435565b610540604051806101c001604052805f81526020015f81526020015f81526020015f151581526020015f81526020016060815260200160608152602001606081526020016060815260200160608152602001606081526020015f81526020015f81526020015f81525090565b604081018c905261055260018d613ba3565b60208201528467ffffffffffffffff81111561057057610570613851565b604051908082528060200260200182016040528015610599578160200160208202803683370190505b506101408201525b610140810151518151101561061d578585825f01518181106105c5576105c5613b35565b90506020020160208101906105da9190613bb6565b67ffffffffffffffff16816101400151825f0151815181106105fe576105fe613b35565b600f9290920b60209283029190910190910152805160010181526105a1565b5f606082015260408101516080820181905267ffffffffffffffff81111561064757610647613851565b604051908082528060200260200182016040528015610670578160200160208202803683370190505b5060a0820152604081015167ffffffffffffffff81111561069357610693613851565b6040519080825280602002602001820160405280156106bc578160200160208202803683370190505b5060c0820152608081015167ffffffffffffffff8111156106df576106df613851565b604051908082528060200260200182016040528015610708578160200160208202803683370190505b5060e08201526001600160a01b0389165f90815260016020908152604091829020805483518184028101840190945280845261077b939283018282801561076c57602002820191905f5260205f20905b815481526020019060010190808311610758575b50505050508260400151610df3565b60a08201819052604080516020808e0282810182019093528d82526107c593928f918f9182918501908490808284375f920191909152505050506101408401516040850151610fbe565b60c082015260408101516107db90600290613be3565b156107ec576020810180515f190190525b5f81525b6020810151815110156109fd5780606001511561085b5760a081015181518151811061081e5761081e613b35565b60200260200101518160e001518260400151835f015161083e9190613bf6565b8151811061084e5761084e613b35565b6020026020010181815250505b60c081015181518151811061087257610872613b35565b60200260200101518160e00151825f01518151811061089357610893613b35565b6020908102919091010152805160010161016082015260608101511561090d578060a00151816101600151815181106108ce576108ce613b35565b60200260200101518160e0015182604001518361016001516108f09190613bf6565b8151811061090057610900613b35565b6020026020010181815250505b8060c001518161016001518151811061092857610928613b35565b60200260200101518160e001518261016001518151811061094b5761094b613b35565b60200260200101818152505080606001516109e5576109ac8160c00151825f01518151811061097c5761097c613b35565b60200260200101518260c001518361016001518151811061099f5761099f613b35565b6020026020010151611194565b6001600160a01b038a165f908152600160205260409020610180830151815481106109d9576109d9613b35565b5f918252602090912001555b610180810180516001019052805160020181526107f0565b60028160400151610a0e9190613be3565b15610b455760018160400151610a249190613ba3565b6101a08201819052600290046020820152606081015115610a99578060a00151816101a0015181518110610a5a57610a5a613b35565b60200260200101518160e001518260400151836101a00151610a7c9190613bf6565b81518110610a8c57610a8c613b35565b6020026020010181815250505b8060c00151816101a0015181518110610ab457610ab4613b35565b60200260200101518160e00151826101a0015181518110610ad757610ad7613b35565b6020026020010181815250508060600151610b4557610b0b5f8260c00151836101a001518151811061099f5761099f613b35565b6001600160a01b038a165f9081526001602090815260409091209083015181548110610b3957610b39613b35565b5f918252602090912001555b806060015115610b8a57610b5c8160c001516112ac565b6001600160a01b038a165f9081526001602090815260409091208251610b88939192919091019061370b565b505b610bbc60405180608001604052805f6001600160a01b031681526020015f815260200160608152602001606081525090565b81610140015181604001819052508160e00151816060018190525089815f01906001600160a01b031690816001600160a01b031681525050610c368e8e8e8e808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508f92508e915087905061159d565b6101208301819052610c5f908f8f67ffffffffffffffff808a16600f90810b918a16900b611a8d565b9e9d5050505050505050505050505050565b6001602052815f5260405f208181548110610c8a575f80fd5b905f5260205f20015f91509150505481565b5f7ffffffffffffffff6c6d11716de2a2f8c500cdd19dbc6030cd280cbb9b6b8f070821215610cfa576040517fe608e18b00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b7809392ee8e921d5d073aff322e62439fcf32d7f344649470f90821315610d50576040517f71f72a3100000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b50670de0b6b3a76400000290565b80825103610d9b57610d6f826112ac565b6001600160a01b0384165f9081526001602090815260409091208251610454939192919091019061370b565b60405162461bcd60e51b815260206004820152601660248201527f496e76616c696420736574206d6f76696e6720617667000000000000000000006044820152606401610435565b505050565b610de3838383611ae4565b60608183516002610e049190613c09565b1015610e525760405162461bcd60e51b815260206004820152600860248201527f535243213d5447540000000000000000000000000000000000000000000000006044820152606401610435565b8167ffffffffffffffff811115610e6b57610e6b613851565b604051908082528060200260200182016040528015610e94578160200160208202803683370190505b5090505f8060018551610ea79190613ba3565b90505f610eb5600286613be3565b1590505f5b8651811015610f67576080878281518110610ed757610ed7613b35565b6020026020010151901d858581518110610ef357610ef3613b35565b60200260200101818152505083600101935081158015610f1257508281105b80610f1a5750815b15610f5b57868181518110610f3157610f31613b35565b6020026020010151600f0b858581518110610f4e57610f4e613b35565b6020026020010181815250505b60019384019301610eba565b5080610fb557858281518110610f7f57610f7f613b35565b6020026020010151600f0b84600187610f989190613ba3565b81518110610fa857610fa8613b35565b6020026020010181815250505b50505092915050565b60605f8267ffffffffffffffff811115610fda57610fda613851565b604051908082528060200260200182016040528015611003578160200160208202803683370190505b5090505f845f8151811061101957611019613b35565b6020026020010151600f0b90505f81670de0b6b3a764000061103b9190613c20565b905085516001036110eb575f5b858110156110e5575f89828151811061106357611063613b35565b602002602001015190506110bf670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b6020026020010151611bf590919063ffffffff16565b6110af8488611bf5565b6110b99190613c46565b90611cfc565b8583815181106110d1576110d1613b35565b602090810291909101015250600101611048565b50611188565b5f5b858110156111865786818151811061110757611107613b35565b6020026020010151600f0b925082670de0b6b3a76400000391505f89828151811061113457611134613b35565b60200260200101519050611160670de0b6b3a76400006110a5858c868151811061108f5761108f613b35565b85838151811061117257611172613b35565b6020908102919091010152506001016110ed565b505b50909695505050505050565b5f6f7fffffffffffffffffffffffffffffff83138015906111c557506f7fffffffffffffffffffffffffffffff8213155b6112115760405162461bcd60e51b815260206004820152600860248201527f4f766572666c6f770000000000000000000000000000000000000000000000006044820152606401610435565b6f7fffffffffffffffffffffffffffffff19831280159061124357506f7fffffffffffffffffffffffffffffff198212155b61128f5760405162461bcd60e51b815260206004820152600960248201527f556e646572666c6f7700000000000000000000000000000000000000000000006044820152606401610435565b506fffffffffffffffffffffffffffffffff1660809190911b1790565b8051606090805f8181036113045760405162461bcd60e51b81526004016104359060208082526004908201527f4c454e3000000000000000000000000000000000000000000000000000000000604082015260600190565b600285516113129190613be3565b5f036113e3576002820491508167ffffffffffffffff81111561133757611337613851565b604051908082528060200260200182016040528015611360578160200160208202803683370190505b5093505f5b611370600185613ba3565b8110156113dd576113b286828151811061138c5761138c613b35565b6020026020010151878360016113a29190613bf6565b8151811061099f5761099f613b35565b8583815181106113c4576113c4613b35565b6020908102919091010152600190910190600201611365565b50611595565b5f85600187516113f39190613ba3565b8151811061140357611403613b35565b602002602001015190506f7fffffffffffffffffffffffffffffff19600f0b811215801561144157506f7fffffffffffffffffffffffffffffff8113155b61148d5760405162461bcd60e51b815260206004820152601b60248201527f4c61737420617272617920656c656d656e74206f766572666c6f7700000000006044820152606401610435565b60025f1984010460010192508267ffffffffffffffff8111156114b2576114b2613851565b6040519080825280602002602001820160405280156114db578160200160208202803683370190505b5094505f6114ea600286613ba3565b90505f5b8181101561154c5761152188828151811061150b5761150b613b35565b6020026020010151898360016113a29190613bf6565b87858151811061153357611533613b35565b60209081029190910101526001909301926002016114ee565b5086611559600187613ba3565b8151811061156957611569613b35565b6020026020010151600f0b86848151811061158657611586613b35565b60200260200101818152505050505b505050919050565b60606115e360405180610100016040528060608152602001606081526020015f81526020015f151581526020015f81526020015f81526020015f81526020015f81525090565b84845f8181106115f5576115f5613b35565b90506020028101906116079190613b49565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052509385525050506060820152600184111561169857670de0b6b3a76400008585600181811061166357611663613b35565b90506020028101906116759190613b49565b5f81811061168557611685613b35565b6020029190910135919091146060830152505b602083018790526116a98684611e05565b60208201525f60808201525b60808101518711156118355782606001518160800151815181106116db576116db613b35565b60200260200101518160a001818152505080606001511561171e578581608001518151811061170c5761170c613b35565b60200260200101518160a00181815250505b611768816020015182608001518151811061173b5761173b613b35565b60200260200101516117628360a00151670de0b6b3a7640000611cfc90919063ffffffff16565b90611bf5565b816020015182608001518151811061178257611782613b35565b60209081029190910101528051516001036117d25780602001518160800151815181106117b1576117b1613b35565b6020026020010151816040018181516117ca9190613c46565b905250611825565b611810815f01518260800151815181106117ee576117ee613b35565b6020026020010151826020015183608001518151811061108f5761108f613b35565b816040018181516118219190613c46565b9052505b60808101805160010190526116b5565b8667ffffffffffffffff81111561184e5761184e613851565b604051908082528060200260200182016040528015611877578160200160208202803683370190505b5081515190925060010361195757604081018051889190611899908390613c6d565b9052505f60808201525b6080810151871115611952575f6118f682602001518360800151815181106118cd576118cd613b35565b602002602001015183604001516118e49190613c20565b835180515f9061108f5761108f613b35565b8989846080015181811061190c5761190c613b35565b9050602002013561191d9190613c46565b9050808383608001518151811061193657611936613b35565b60209081029190910101525060808101805160010190526118a3565b611a82565b5f60808201525b805151608082015110156119af57805160808201518151811061198357611983613b35565b60200260200101518160c00181815161199c9190613c46565b905250608081018051600101905261195e565b60c081015160408201516119c291611cfc565b60408201525f60808201525b6080810151871115611a82575f611a2682602001518360800151815181106119f8576119f8613b35565b60200260200101518360400151611a0f9190613c20565b835160808501518151811061108f5761108f613b35565b89898460800151818110611a3c57611a3c613b35565b90506020020135611a4d9190613c46565b90508083836080015181518110611a6657611a66613b35565b60209081029190910101525060808101805160010190526119ce565b509695505050505050565b6060611a99868361260a565b9550611ada8585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a92508791506127939050565b9695505050505050565b6001600160a01b0383165f90815260208190526040902054825182148015611b6f5750801580611b36575060028351611b1d9190613be3565b158015611b3657508060028451611b349190613c99565b145b80611b6f575060028351611b4a9190613be3565b15801590611b6f57508060028451611b629190613c99565b611b6d906001613bf6565b145b15611bad57611b7d836112ac565b6001600160a01b0385165f908152602081815260409091208251611ba7939192919091019061370b565b50610454565b60405162461bcd60e51b815260206004820152601460248201527f496e76616c696420736574206772616469656e740000000000000000000000006044820152606401610435565b5f600160ff1b831480611c0b5750600160ff1b82145b15611c42576040517f3406846c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611c515784611c55565b845f035b91505f8412611c645783611c68565b835f035b90505f611c758383612b46565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611cd4576040517fbf79e8d900000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611cec5782611cf0565b825f035b98975050505050505050565b5f600160ff1b831480611d125750600160ff1b82145b15611d49576040517fb3c754a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8512611d585784611d5c565b845f035b91505f8412611d6b5783611d6f565b835f035b90505f611d8583670de0b6b3a764000084612c3b565b90507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811115611de4576040517f7cb4bef500000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f19808713908613808218600114611dfc5782611cf0565b611cf083613cac565b6060611e426040518060e001604052805f81526020015f81526020015f81526020015f81526020015f815260200160608152602001606081525090565b826020015167ffffffffffffffff811115611e5f57611e5f613851565b604051908082528060200260200182016040528015611e88578160200160208202803683370190505b5060a082015282516001600160a01b03165f90815260208181526040918290208054835181840281018401909452808452611efa9392830182828015611eeb57602002820191905f5260205f20905b815481526020019060010190808311611ed7575b50505050508460200151610df3565b60c082015260208301515f90611f1290600290613be3565b5f141590505f60018560200151611f299190613ba3565b90505f85604001515f81518110611f4257611f42613b35565b6020026020010151600f0b90505f81670de0b6b3a7640000611f649190613c20565b905086604001515160010361229657611f89826110b9836729a2241af62c0000612d1c565b85528315611f98575f19909201915b5f5b8381101561219757611fe88289606001518381518110611fbc57611fbc613b35565b60200260200101518b8481518110611fd657611fd6613b35565b60200260200101516110b99190613c20565b6120188760c00151838151811061200157612001613b35565b602002602001015185611bf590919063ffffffff16565b6120229190613c46565b6020870181905260c087015180518390811061204057612040613b35565b602090810291909101810191909152860151865161205d91611bf5565b8660a00151828151811061207357612073613b35565b602090810291909101015260018101606080880182905289015180516120c29285929181106120a4576120a4613b35565b60200260200101518b896060015181518110611fd657611fd6613b35565b6120df8760c0015188606001518151811061200157612001613b35565b6120e99190613c46565b6040870181905286516120fb91611bf5565b8660a0015187606001518151811061211557612115613b35565b60200260200101818152505061214c8660c00151828151811061213a5761213a613b35565b60200260200101518760400151611194565b88516001600160a01b03165f90815260208190526040902060808801518154811061217957612179613b35565b5f918252602090912001556080860180516001019052600201611f9a565b508315612291578260010192506121d881886060015185815181106121be576121be613b35565b60200260200101518a8681518110611fd657611fd6613b35565b6122088660c0015185815181106121f1576121f1613b35565b602002602001015184611bf590919063ffffffff16565b6122129190613c46565b60208601819052612224905f90611194565b87516001600160a01b03165f90815260208190526040902060808701518154811061225157612251613b35565b5f9182526020918290200191909155850151855161226e91611bf5565b8560a00151848151811061228457612284613b35565b6020026020010181815250505b6125fb565b83156122a8576122a583613cc6565b92505b5f5b838110156124e257876040015181815181106122c8576122c8613b35565b6020026020010151600f0b925082670de0b6b3a7640000039150612301836110b96729a2241af62c000085612d1c90919063ffffffff16565b86526060880151805161232091849184908110611fbc57611fbc613b35565b6123398760c00151838151811061200157612001613b35565b6123439190613c46565b6020870181905260c087015180518390811061236157612361613b35565b602090810291909101810191909152860151865161237e91611bf5565b8660a00151828151811061239457612394613b35565b602090810291909101015260018101606087018190526040890151805190919081106123c2576123c2613b35565b6020026020010151600f0b925082670de0b6b3a76400000391506123fb836110b96729a2241af62c000085612d1c90919063ffffffff16565b865260608089015190870151815161241f928592909181106120a4576120a4613b35565b61243c8760c0015188606001518151811061200157612001613b35565b6124469190613c46565b60408701819052865161245891611bf5565b8660a0015187606001518151811061247257612472613b35565b6020026020010181815250506124978660c00151828151811061213a5761213a613b35565b88516001600160a01b03165f9081526020819052604090206080880151815481106124c4576124c4613b35565b5f9182526020909120015560808601805160010190526002016122aa565b5083156125fb578260010192508660400151838151811061250557612505613b35565b6020026020010151600f0b915081670de0b6b3a764000003905061253e826110b96729a2241af62c000084612d1c90919063ffffffff16565b85526060870151805161255d918391869081106121be576121be613b35565b6125768660c0015185815181106121f1576121f1613b35565b6125809190613c46565b60208601819052855161259291611bf5565b8560a0015184815181106125a8576125a8613b35565b6020026020010181815250506125c25f8660200151611194565b87516001600160a01b03165f9081526020819052604090206080870151815481106125ef576125ef613b35565b5f918252602090912001555b5050505060a001519392505050565b815160609060018190036126215783915050610381565b5f8390505f612637856117626001895103610c9c565b670de0b6b3a764000090810391505f805b85811015612709578489828151811061266357612663613b35565b6020026020010151121561269a578489828151811061268457612684613b35565b6020026020010181815250508483039250612701565b838982815181106126ad576126ad613b35565b602002602001015113156126e257838982815181106126ce576126ce613b35565b602090810291909101015290830190612701565b8881815181106126f4576126f4613b35565b6020026020010151820191505b600101612648565b508015612787575f61271b8383611cfc565b90505f5b8681101561278457858a828151811061273a5761273a613b35565b60200260200101511461277c5761275d828b838151811061108f5761108f613b35565b8a828151811061276f5761276f613b35565b6020026020010181815250505b60010161271f565b50505b50959695505050505050565b6060815f5b8551811015612865575f8582815181106127b4576127b4613b35565b60200260200101518783815181106127ce576127ce613b35565b60200260200101511315612818578582815181106127ee576127ee613b35565b602002602001015187838151811061280857612808613b35565b6020026020010151039050612850565b86828151811061282a5761282a613b35565b602002602001015186838151811061284457612844613b35565b60200260200101510390505b8281131561285c578092505b50600101612798565b505f805f805f878613156129c9575f61287e8988611cfc565b90505f5b8a518110156129c2575f6128d3838e84815181106128a2576128a2613b35565b60200260200101518e85815181106128bc576128bc613b35565b602002602001015103611bf590919063ffffffff16565b9050808d83815181106128e8576128e8613b35565b6020026020010151018c838151811061290357612903613b35565b6020026020010181815250508b828151811061292157612921613b35565b602002602001015188019750858c838151811061294057612940613b35565b60200260200101511315612978578593508694508b828151811061296657612966613b35565b602002602001015195508196506129b9565b838c838151811061298b5761298b613b35565b602002602001015113156129b9578b82815181106129ab576129ab613b35565b602002602001015193508194505b50600101612882565b5050612a88565b5f5b8951811015612a86578981815181106129e6576129e6613b35565b602002602001015186019550838a8281518110612a0557612a05613b35565b60200260200101511315612a3d57839150849250898181518110612a2b57612a2b613b35565b60200260200101519350809450612a7e565b818a8281518110612a5057612a50613b35565b60200260200101511315612a7e57898181518110612a7057612a70613b35565b602002602001015191508092505b6001016129cb565b505b670de0b6b3a76400008514612b3557670de0b6b3a7640000851315612af057670de0b6b3a76400008503898581518110612ac457612ac4613b35565b602002602001015103898581518110612adf57612adf613b35565b602002602001018181525050612b35565b84670de0b6b3a764000003898381518110612b0d57612b0d613b35565b602002602001015101898381518110612b2857612b28613b35565b6020026020010181815250505b5050505050508290505b9392505050565b5f80805f19848609848602925082811083820303915050670de0b6b3a76400008110612ba1576040517fd31b340200000000000000000000000000000000000000000000000000000000815260048101829052602401610435565b5f80670de0b6b3a764000086880991506706f05b59d3b1ffff82119050825f03612bdd5780670de0b6b3a7640000850401945050505050610381565b6204000082850304939091119091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690201905092915050565b5f80805f19858709858702925082811083820303915050805f03612c7257838281612c6857612c68613bcf565b0492505050612b3f565b838110612cb5576040517f773cc18c0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610435565b5f8486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f825f03612d41578115612d30575f612d3a565b670de0b6b3a76400005b9050610381565b612b3f612d56612d5085612d5b565b84611bf5565b612e54565b5f808213612d98576040517f613f4fba00000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b5f670de0b6b3a76400008312612db057506001612dc9565b5f199050826ec097ce7bc90715b34b9f10000000000492505b5f612ddd670de0b6b3a76400008505612f0b565b670de0b6b3a764000081029350905083811d670de0b6b3a763ffff198101612e0757505002919050565b6706f05b59d3b200005b5f811315612e4b57670de0b6b3a7640000828002059150671bc16d674ec800008212612e43579384019360019190911d905b60011d612e11565b50505002919050565b5f80821215612ea55768033dd1780914b9711419821215612e7657505f919050565b612e81825f03612e54565b6ec097ce7bc90715b34b9f100000000081612e9e57612e9e613bcf565b0592915050565b680a688906bd8b0000008212612eea576040517fe69458f900000000000000000000000000000000000000000000000000000000815260048101839052602401610435565b670de0b6b3a7640000604083901b04612f0281612ffb565b9150505b919050565b5f7001000000000000000000000000000000008210612f3757608091821c91612f349082613bf6565b90505b680100000000000000008210612f5a57604091821c91612f579082613bf6565b90505b6401000000008210612f7957602091821c91612f769082613bf6565b90505b620100008210612f9657601091821c91612f939082613bf6565b90505b6101008210612fb257600891821c91612faf9082613bf6565b90505b60108210612fcd57600491821c91612fca9082613bf6565b90505b60048210612fe857600291821c91612fe59082613bf6565b90505b60028210612f0657610381600182613bf6565b778000000000000000000000000000000000000000000000006780000000000000008216156130335768016a09e667f3bcc9090260401c5b674000000000000000821615613052576801306fe0a31b7152df0260401c5b672000000000000000821615613071576801172b83c7d517adce0260401c5b6710000000000000008216156130905768010b5586cf9890f62a0260401c5b6708000000000000008216156130af576801059b0d31585743ae0260401c5b6704000000000000008216156130ce57680102c9a3e778060ee70260401c5b6702000000000000008216156130ed5768010163da9fb33356d80260401c5b67010000000000000082161561310c57680100b1afa5abcbed610260401c5b668000000000000082161561312a5768010058c86da1c09ea20260401c5b6640000000000000821615613148576801002c605e2e8cec500260401c5b662000000000000082161561316657680100162f3904051fa10260401c5b6610000000000000821615613184576801000b175effdc76ba0260401c5b66080000000000008216156131a257680100058ba01fb9f96d0260401c5b66040000000000008216156131c05768010002c5cc37da94920260401c5b66020000000000008216156131de576801000162e525ee05470260401c5b66010000000000008216156131fc5768010000b17255775c040260401c5b65800000000000821615613219576801000058b91b5bc9ae0260401c5b6540000000000082161561323657680100002c5c89d5ec6d0260401c5b652000000000008216156132535768010000162e43f4f8310260401c5b6510000000000082161561327057680100000b1721bcfc9a0260401c5b6508000000000082161561328d5768010000058b90cf1e6e0260401c5b650400000000008216156132aa576801000002c5c863b73f0260401c5b650200000000008216156132c757680100000162e430e5a20260401c5b650100000000008216156132e4576801000000b1721835510260401c5b64800000000082161561330057680100000058b90c0b490260401c5b64400000000082161561331c5768010000002c5c8601cc0260401c5b642000000000821615613338576801000000162e42fff00260401c5b6410000000008216156133545768010000000b17217fbb0260401c5b640800000000821615613370576801000000058b90bfce0260401c5b64040000000082161561338c57680100000002c5c85fe30260401c5b6402000000008216156133a85768010000000162e42ff10260401c5b6401000000008216156133c457680100000000b17217f80260401c5b63800000008216156133df5768010000000058b90bfc0260401c5b63400000008216156133fa576801000000002c5c85fe0260401c5b632000000082161561341557680100000000162e42ff0260401c5b6310000000821615613430576801000000000b17217f0260401c5b630800000082161561344b57680100000000058b90c00260401c5b63040000008216156134665768010000000002c5c8600260401c5b6302000000821615613481576801000000000162e4300260401c5b630100000082161561349c5768010000000000b172180260401c5b628000008216156134b6576801000000000058b90c0260401c5b624000008216156134d057680100000000002c5c860260401c5b622000008216156134ea5768010000000000162e430260401c5b6210000082161561350457680100000000000b17210260401c5b6208000082161561351e5768010000000000058b910260401c5b62040000821615613538576801000000000002c5c80260401c5b6202000082161561355257680100000000000162e40260401c5b6201000082161561356c576801000000000000b1720260401c5b61800082161561358557680100000000000058b90260401c5b61400082161561359e5768010000000000002c5d0260401c5b6120008216156135b7576801000000000000162e0260401c5b6110008216156135d05768010000000000000b170260401c5b6108008216156135e9576801000000000000058c0260401c5b61040082161561360257680100000000000002c60260401c5b61020082161561361b57680100000000000001630260401c5b61010082161561363457680100000000000000b10260401c5b608082161561364c57680100000000000000590260401c5b6040821615613664576801000000000000002c0260401c5b602082161561367c57680100000000000000160260401c5b6010821615613694576801000000000000000b0260401c5b60088216156136ac57680100000000000000060260401c5b60048216156136c457680100000000000000030260401c5b60028216156136dc57680100000000000000010260401c5b60018216156136f457680100000000000000010260401c5b670de0b6b3a76400000260409190911c60bf031c90565b828054828255905f5260205f20908101928215613744579160200282015b82811115613744578251825591602001919060010190613729565b50613750929150613754565b5090565b5b80821115613750575f8155600101613755565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8083601f8401126137ad575f80fd5b50813567ffffffffffffffff8111156137c4575f80fd5b6020830191508360208260051b85010111156137de575f80fd5b9250929050565b5f80602083850312156137f6575f80fd5b823567ffffffffffffffff81111561380c575f80fd5b6138188582860161379d565b90969095509350505050565b5f60208284031215613834575f80fd5b5035919050565b80356001600160a01b0381168114612f06575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112613874575f80fd5b813567ffffffffffffffff81111561388e5761388e613851565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156138bb576138bb613851565b6040529182526020818501810192908101868411156138d8575f80fd5b6020860192505b838310156138f75782358152602092830192016138df565b5095945050505050565b5f805f8060808587031215613914575f80fd5b61391d8561383b565b9350602085013567ffffffffffffffff811115613938575f80fd5b61394487828801613865565b935050604085013567ffffffffffffffff811115613960575f80fd5b61396c87828801613865565b949793965093946060013593505050565b803567ffffffffffffffff81168114612f06575f80fd5b5f805f805f805f805f805f60e08c8e0312156139ae575f80fd5b8b3567ffffffffffffffff8111156139c4575f80fd5b6139d08e828f0161379d565b909c509a505060208c013567ffffffffffffffff8111156139ef575f80fd5b6139fb8e828f0161379d565b909a509850613a0e905060408d0161383b565b965060608c013567ffffffffffffffff811115613a29575f80fd5b613a358e828f0161379d565b90975095505060808c013567ffffffffffffffff811115613a54575f80fd5b613a608e828f0161379d565b9095509350613a73905060a08d0161397d565b9150613a8160c08d0161397d565b90509295989b509295989b9093969950565b602080825282518282018190525f918401906040840190835b81811015613aca578351835260209384019390920191600101613aac565b509095945050505050565b5f8060408385031215613ae6575f80fd5b613aef8361383b565b946020939093013593505050565b600181811c90821680613b1157607f821691505b602082108103613b2f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112613b5e575f80fd5b83018035915067ffffffffffffffff821115613b78575f80fd5b6020019150600581901b36038213156137de575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561038157610381613b8f565b5f60208284031215613bc6575f80fd5b612b3f8261397d565b634e487b7160e01b5f52601260045260245ffd5b5f82613bf157613bf1613bcf565b500690565b8082018082111561038157610381613b8f565b808202811582820484141761038157610381613b8f565b8181035f831280158383131683831282161715613c3f57613c3f613b8f565b5092915050565b8082018281125f831280158216821582161715613c6557613c65613b8f565b505092915050565b5f82613c7b57613c7b613bcf565b600160ff1b82145f1984141615613c9457613c94613b8f565b500590565b5f82613ca757613ca7613bcf565b500490565b5f600160ff1b8203613cc057613cc0613b8f565b505f0390565b5f81613cd457613cd4613b8f565b505f19019056fea2646970667358221220aa55c54cea979fb5284595f74a895664005b8fd5ef6095446e128001dcad228364736f6c634300081a00334c616d6264613a204c616d6264612064696374617465732074686520657374696d61746f7220776569676874696e6720616e6420707269636520736d6f6f7468696e6720666f72206120676976656e20706572696f64206f662074696d654b617070613a204b617070612064696374617465732074686520616767726573736976656e657373206f66207468652072756c65277320726573706f6e736520746f2061207369676e616c206368616e67652028686572652c202d287072696365206772616469656e742929557365207261772070726963653a2030203d20757365206d6f76696e6720617665726167652c2031203d207573652072617720707269636520746f2062652075736564206173207468652064656e6f6d696e61746f72000000000000000000000000dbeb3bf2533b4a529df4de222f8a061791e38f8b", - "nonce": "0x40", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x129e003", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7b21395fcb3e8e75fb216a1a56e9c971a9c816af99522c4366f709431c748ef7", - "transactionIndex": "0xa2", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x46079", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xD6bd5E709EF92C0c488f6040BdCb9Db8Ba80D774" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x164bd83", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa1f11d2b66f3aad7998a11e3e580f7fdc7901e3c37a5ffa5fee81f60381324fe", - "transactionIndex": "0xa3", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x3add80", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xdbeb3BF2533B4a529DF4DE222F8A061791E38f8B" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x19e655c", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd03bef30067839c897d840f5817dbedfcb6d45cbdf71981fc887c6bc24c48759", - "transactionIndex": "0xa4", - "blockHash": "0x86759ef0d85f0873478fd10e8f4a29158ec421ac228cef260ffd83f361f98448", - "blockNumber": "0x78561e", - "gasUsed": "0x39a7d9", - "effectiveGasPrice": "0x20d3a1db13", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0xb3f69CD223252F29f47F8AdF9059b9ACBA3EBD6D" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741774592, - "chain": 11155111, - "commit": "d423799" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json deleted file mode 100644 index 60177bd5..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-1741609153.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "function": null, - "arguments": null, - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xab3154", - "value": "0x0", - "input": "0x6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e320000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xab9c8b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", - "transactionIndex": "0xa", - "blockHash": "0x18f25a1d40d98c9f4fb99c3b573c6102e2c130e2a72bd91d3cc5546f6d75d7df", - "blockNumber": "0x782373", - "gasUsed": "0x83afcb", - "effectiveGasPrice": "0x34c1fb14bd", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741609153, - "chain": 11155111, - "commit": "4b402e5" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json deleted file mode 100644 index 60177bd5..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_hardhat_compiled.sol/11155111/run-latest.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", - "transactionType": "CREATE", - "contractName": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "function": null, - "arguments": null, - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "gas": "0xab3154", - "value": "0x0", - "input": "0x6101a0604052346100bb5761001e61001561015f565b93929092610412565b604051612d6f908161066a82396080518181816102130152612100015260a0518161208a015260c0518181816102370152612125015260e051816120ab01526101005181611f78015261012051818181610dc401528181611481015281816115c701528181611fe00152612b9d015261014051816113450152610160518181816116770152612052015261018051818181610d8e015261144b0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100f857604052565b6100bf565b6001600160a01b038116036100bb57565b81601f820112156100bb578051906001600160401b0382116100f85761013d601f8301601f19166020016100d3565b92828452602083830101116100bb57815f9260208093018386015e8301015290565b619f148038038061016f816100d3565b92833981019060a0818303126100bb57805161018a816100fd565b60208201519363ffffffff851685036100bb5760408301516001600160401b0394908581116100bb57816101bf91860161010e565b9460608501519081116100bb576080916101da91860161010e565b930151916101e7836100fd565b9493929190565b156101f557565b60405162461bcd60e51b815260206004820152602e60248201527f757064617465207765696768742072756e6e65722063616e6e6f74206265206460448201526d656661756c74206164647265737360901b6064820152608490fd5b90600182811c9216801561027f575b602083101461026b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610260565b601f8111610295575050565b60035f5260205f20906020601f840160051c830193106102cf575b601f0160051c01905b8181106102c4575050565b5f81556001016102b9565b90915081906102b0565b601f81116102e5575050565b60045f5260205f20906020601f840160051c8301931061031f575b601f0160051c01905b818110610314575050565b5f8155600101610309565b9091508190610300565b80519091906001600160401b0381116100f8576103508161034b600454610251565b6102d9565b602080601f83116001146103915750819061038193945f92610386575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061036d565b60045f52601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b925f905b8782106103fa5750508360019596106103e2575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103d7565b806001859682949686015181550195019301906103c3565b929192616b3b610424602082016100d3565b908082526133d960208301398051908160011c918260a052828103928184116104d7578360e052808352610457836105da565b608052820191825193835261046b83610629565b60c052525230610100526101205263ffffffff9261048b848316426104eb565b938085116104c8576104c2946104a9936101405216610160526104fd565b6104bd6001600160a01b03841615156101ee565b610329565b61018052565b6368755a1160e01b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b919082018092116104f857565b6104d7565b80519091906001600160401b0381116100f8576105248161051f600354610251565b610289565b602080601f83116001146105595750819061055493945f926103865750508160011b915f199060031b1c19161790565b600355565b60035f52601f198316949091907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b925f905b8782106105c25750508360019596106105aa575b505050811b01600355565b01515f1960f88460031b161c191690555f808061059f565b8060018596829496860151815501950193019061058b565b9081517f602038038060206000396000f3fefefefefefefefefefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a57565b63fef8220760e01b5f5260045ffd5b9081517f60fe600053602038038060206001396001016000f3fefefefefefefefefefefe835260208101835ff092526001600160a01b0382161561061a5756fe60806040526004361015610011575f80fd5b5f3560e01c8062c194db14610163578063174481fa1461015e578063193ad50f146101595780632f2770db146101545780632fcb03051461014f5780633f819b6f1461014a57806344f6fec71461014557806353a72f7e1461014057806354fd4d501461013b5780636634b75314610136578063673a2a1f146101315780636c57f5a91461012c57806378da80cb146101275780638110f22e14610122578063851c1bb31461011d5780638d928af8146101185780638eec5d7014610113578063aaabadc51461010e578063db035ebc14610109578063e9d56e19146101045763ec888061146100ff575f80fd5b61169b565b61165b565b611633565b611608565b6115eb565b6115a8565b611570565b611389565b611329565b611307565b611279565b611239565b611138565b61104c565b610f72565b610f57565b610c86565b6102ad565b61025e565b6101f4565b61019a565b5f91031261017257565b5f80fd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610172575f366003190112610172576040516020810181811067ffffffffffffffff8211176101ef576101eb916101d7916040525f8152612087565b604051918291602083526020830190610176565b0390f35b61036c565b34610172575f36600319011261017257604080516001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001682527f0000000000000000000000000000000000000000000000000000000000000000166020820152f35b34610172575f3660031901126101725760806102786116b5565b6102ab60405180926060809180511515845260208101511515602085015260408101511515604085015201511515910152565bf35b34610172575f366003190112610172576102d15f356001600160e01b031916611f6e565b60206001600160a01b036102e3611fcb565b16916064604051809481936326f8aa2160e21b835260048301523360248301523060448301525afa908115610367575f91610338575b5015610329576103276116d9565b005b6323dada5360e01b5f5260045ffd5b61035a915060203d602011610360575b61035281836103b0565b81019061262d565b5f610319565b503d610348565b6117dd565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff8211176101ef57604052565b67ffffffffffffffff81116101ef57604052565b90601f8019910116810190811067ffffffffffffffff8211176101ef57604052565b60405190610140820182811067ffffffffffffffff8211176101ef57604052565b60405190610220820182811067ffffffffffffffff8211176101ef57604052565b6040519060e0820182811067ffffffffffffffff8211176101ef57604052565b92919267ffffffffffffffff82116101ef576040519161045e601f8201601f1916602001846103b0565b829481845281830111610172578281602093845f960137010152565b9080601f830112156101725781602061049593359101610434565b90565b67ffffffffffffffff81116101ef5760051b60200190565b6001600160a01b0381160361017257565b8015150361017257565b35906104d6826104c1565b565b9080601f830112156101725781359160206104f284610498565b9360409361050360405196876103b0565b818652828087019260071b85010193818511610172578301915b84831061052d5750505050505090565b6080838303126101725785519061054382610380565b833561054e816104b0565b8252848401359060028210156101725782869283608095015288860135610574816104b0565b8982015260608087013590610588826104c1565b82015281520192019161051d565b9080601f830112156101725760209082356105b081610498565b936105be60405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106105e7575050505090565b813581529083019083016105d9565b35906104d6826104b0565b9190826060910312610172576040516060810181811067ffffffffffffffff8211176101ef576040526040808294803561063a816104b0565b8452602081013561064a816104b0565b602085015201359161065b836104b0565b0152565b9080601f8301121561017257602090823561067981610498565b9361068760405195866103b0565b81855260208086019260051b82010192831161017257602001905b8282106106b0575050505090565b83809183356106be816104b0565b8152019101906106a2565b81601f820112156101725760209080356106e281610498565b9360406106f260405196876103b0565b828652848601918560059460051b8601019481861161017257868101935b86851061072257505050505050505090565b843567ffffffffffffffff811161017257820183603f8201121561017257888101359061074e82610498565b9161075b875193846103b0565b808352868b8401918a1b830101918683116101725791878c94929593015b818110610790575050829350815201940193610710565b91938091939583356107a1816104b0565b8152019101918b93919492610779565b359061ffff8216820361017257565b359067ffffffffffffffff8216820361017257565b9080601f830112156101725760209082356107ef81610498565b936107fd60405195866103b0565b81855260208086019260051b82010192831161017257602001905b828210610826575050505090565b838091610832846107c0565b815201910190610818565b81601f820112156101725780359160209161085784610498565b9361086560405195866103b0565b808552838086019160051b8301019280841161017257848301915b8483106108905750505050505090565b823567ffffffffffffffff81116101725786916108b284848094890101610596565b815201920191610880565b91909161014081840312610172576108d36103d2565b9267ffffffffffffffff823581811161017257826108f291850161065f565b8552610900602084016105f6565b60208601526040830135818111610172578261091d9185016106c9565b604086015261092e606084016107b1565b60608601526080830135818111610172578261094b9185016107d5565b608086015261095c60a084016107c0565b60a086015261096d60c084016107c0565b60c086015261097e60e084016107c0565b60e086015261010091828401359182116101725761099d91840161083d565b908401526109af6101208092016105f6565b90830152565b81601f820112156101725760209080356109ce81610498565b936040916109df60405196876103b0565b808652848601918560059260051b8601019481861161017257868101935b868510610a0f57505050505050505090565b67ffffffffffffffff853581811161017257830184603f82011215610172578981013590610a3c82610498565b92610a498a5194856103b0565b828452898c850193891b830101918783116101725790918c94928b8397959701925b828410610a8457505050508293508152019401936109fd565b919395509193958435838111610172578e91610aa58b8f859487010161047a565b8152019401918d959391969496610a6b565b600319906020818301126101725760049081359167ffffffffffffffff938484116101725761026090848403011261017257610af16103f3565b9383820135818111610172578383610b0b9287010161047a565b85526024840135818111610172578383610b279287010161047a565b60208601526044840135818111610172578383610b46928701016104d8565b60408601526064840135818111610172578383610b6592870101610596565b6060860152610b778360848601610601565b608086015260e484013560a0860152610b9361010485016105f6565b60c0860152610ba561012485016104cb565b60e0860152610bb761014485016104cb565b610100860152610164840135610120860152610184840135818111610172578383610be492870101610596565b6101408601526101a4840135818111610172578383610c05928701016108bd565b6101608601526101c4840135818111610172578383610c2692870101610596565b6101808601526101e4840135818111610172578383610c4792870101610596565b6101a08601526102048401356101c08601526102248401356101e086015261024484013590811161017257610c7d9301016109b5565b61020082015290565b3461017257610c9436610ab7565b60808101906001600160a01b039060409082610cbb838651016001600160a01b0390511690565b16610f375760c081019083610cd783516001600160a01b031690565b168015159081610eb4575b50610ea557610cef6116b5565b90610d09610d0060e0830151151590565b15156060840152565b610d20610d1a610100830151151590565b15158352565b83810192610e07610ded610dfb865151610d416060870191825151146117e8565b610d4a86612272565b85519060208701519051516101e08801519061020089015192610d6b610414565b94855260208501528b840152610d7f61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015288519283917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018352826103b0565b61012084015190612330565b95610e11836127c5565b861696873b15610172575f8651809963d36a274f60e01b8252818381610e3a8960048301611d60565b03925af19788156103675760a0610e7496610e6d926101eb9b610e8c575b5051940151915192516001600160a01b031690565b9287612b8c565b516001600160a01b0390911681529081906020820190565b80610e99610e9f9261039c565b80610168565b5f610e58565b63bcf1332d60e01b5f5260045ffd5b90508351809163d77153a760e01b82528160046101409485935afa90811561036757610ee9925f92610f0a575b505051151590565b610eff610efa610100840151151590565b151590565b90151514155f610ce2565b610f299250803d10610f30575b610f2181836103b0565b81019061171f565b5f80610ee1565b503d610f17565b63187b85d960e21b5f5260045ffd5b906020610495928181520190610176565b34610172575f366003190112610172576101eb6101d761183f565b346101725760403660031901126101725760043567ffffffffffffffff81116101725736602382011215610172576055600b610fbb6101eb933690602481600401359101610434565b610fcf610fc9602435612cfa565b91612087565b602081519101209060405191604083015260208201523081520160ff8153206040516001600160a01b0390911681529081906020820190565b60209060206040818301928281528551809452019301915f5b82811061102f575050505090565b83516001600160a01b031685529381019392810192600101611021565b3461017257604036600319011261017257600435602435906001916001548083101561112957818301808411611124578110611113575b5061108d81610498565b9161109b60405193846103b0565b818352601f196110aa83610498565b013660208501375f5b8281106110c857604051806101eb8682611008565b8061110d6110f56110e26110dd899587611eff565b611f20565b90546001600160a01b039160031b1c1690565b6110ff8388611f5a565b906001600160a01b03169052565b016110b3565b82810391508111611124575f611083565b611eeb565b634e23d03560e01b5f5260045ffd5b34610172575f366003190112610172576040515f60035460018160011c916001811691821561122f575b60209160208510841461121b5784875260208701939081156111fc57506001146111a3575b6101eb86611197818803826103b0565b60405191829182610f46565b60035f90815294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106111eb5750505091019050611197826101eb5f611187565b8054858701529482019481016111d0565b60ff1916845250505090151560051b019050611197826101eb5f611187565b634e487b7160e01b5f52602260045260245ffd5b92607f1692611162565b34610172576020366003190112610172576001600160a01b0360043561125e816104b0565b165f525f602052602060ff60405f2054166040519015158152f35b34610172575f36600319011261017257604051806001916001549283825260208092019360015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f905b8282106112e9576101eb866112dd818a03826103b0565b60405191829182611008565b84546001600160a01b031687529586019593830193908301906112c6565b34610172575f36600319011261017257602060ff600254166040519015158152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906001600160a01b0361049594931681528160208201520190610176565b346101725761139736610ab7565b60808101906001600160a01b03906040826113bd828651016001600160a01b0390511690565b16610f37576114aa936113ce6116b5565b6113e76113de60e0860151151590565b15156060830152565b6113fe6113f8610100860151151590565b15158252565b8351916114b860208601519360608701948551516101e0890151906102008a015192611428610414565b94855260208501528884015261143c61183f565b60608401526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016608084015260a083015260c082015285519889917f000000000000000000000000000000000000000000000000000000000000000090602084016119c4565b03601f1981018952886103b0565b6114cb84860193845151905151146117e8565b6114d485612272565b6114e361012086015188612330565b956114ed866127c5565b861694853b15610172575f8551809763d36a274f60e01b82528183816115168760048301611d60565b03925af1938415610367576101eb966115539561155d575b50519161154c60c060a084015192519301516001600160a01b031690565b9288612b8c565b5192839283611369565b80610e9961156a9261039c565b5f61152e565b34610172576020366003190112610172576004356001600160e01b031981168103610172576115a0602091611f6e565b604051908152f35b34610172575f3660031901126101725760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f366003190112610172576020600154604051908152f35b34610172575f366003190112610172576020611622611fcb565b6001600160a01b0360405191168152f35b34610172575f36600319011261017257602061164d612050565b63ffffffff60405191168152f35b34610172575f36600319011261017257602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610172575f3660031901126101725760206040515f8152f35b604051906116c282610380565b5f6060838281528260208201528260408201520152565b6116e161214d565b600160ff1960025416176002557f432acbfd662dbb5d8b378384a67159b47ca9d0f1b79f97cf64cf8585fa362d505f80a1565b51906104d6826104c1565b9081610140910312610172576117336103d2565b9061173d81611714565b825261174b60208201611714565b602083015261175c60408201611714565b604083015261176d60608201611714565b606083015261177e60808201611714565b608083015261178f60a08201611714565b60a08301526117a060c08201611714565b60c08301526117b160e08201611714565b60e08301526101006117c4818301611714565b908301526117d6610120809201611714565b9082015290565b6040513d5f823e3d90fd5b156117ef57565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20616e642077656967687420636f756e7473206d757374206d61746044820152610c6d60f31b6064820152608490fd5b604051905f6004546001918160011c9260018316908115611910575b60209060208610831461121b57858852879460208601939081156118f15750600114611891575b5050506104d6925003836103b0565b9250936118bf60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90565b945f935b8285106118db575050506104d69350015f8080611882565b86548585015295860195889550938101936118c3565b925050506104d69491925060ff19168252151560051b015f8080611882565b93607f169361185b565b9080825190818152602080910160059082808560051b8701019601945f925b85841061194a575050505050505090565b9091929394959685601f1980858403018652895192835180825283820191848083891b8301019601935f905b8382106119985750505050505080600192990194019401929594939190611939565b919395806119b3898588600196989a9c03018a528a51610176565b9801960192018b9594929391611976565b92916020611a586104d693604087526119ea815160e060408a0152610120890190610176565b60c0611a29611a0b8685015193603f19948c60608782850301910152610176565b604085015160808c01526060850151848c83030160a08d0152610176565b926001600160a01b03608082015116828b015260a081015160e08b01520151908883030161010089015261191a565b9401906001600160a01b03169052565b906001600160a01b03918281511682526020810151906002821015611aaa57608093606092602085015260408201511660408401520151151560608201520190565b634e487b7160e01b5f52602160045260245ffd5b9081518082526020808093019301915f5b828110611add575050505090565b9091929382611aef6001928751611a68565b950193929101611acf565b9081518082526020808093019301915f5b828110611b19575050505090565b835185529381019392810192600101611b0b565b9081518082526020808093019301915f5b828110611b4c575050505090565b83516001600160a01b031685529381019392810192600101611b3e565b908082519081815260208091019281808460051b8301019501935f915b848310611b965750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b808210611bd75750505090806001929801930193019194939290611b86565b919380600192946001600160a01b038751168152019401920187939291611bb8565b9081518082526020808093019301915f5b828110611c18575050505090565b835167ffffffffffffffff1685529381019392810192600101611c0a565b90808251908181526020809101926020808460051b8301019501935f915b848310611c645750505050505090565b9091929394958480611c82600193601f198682030187528a51611afa565b9801930193019194939290611c54565b9061049590611d49611cf9611cd9611cb4610140875190808752860190611b2d565b6020878101516001600160a01b03169086015260408701518582036040870152611b69565b60608681015161ffff169085015260808601518482036080860152611bf9565b60a08581015167ffffffffffffffff169084015260c08581015167ffffffffffffffff169084015260e08581015167ffffffffffffffff1690840152610100808601519084830390850152611c36565b610120938401516001600160a01b03169190930152565b906104959160208152815190611d8461026092836020840152610280830190610176565b91611dcf611dbb611da7602087015195601f199687878303016040880152610176565b604087015186868303016060870152611abe565b606086015185858303016080860152611afa565b608085015180516001600160a01b0390811660a08601526020820151811660c08601526040909101511660e084015260a085015194610100958685015260c081015195611e2a61012097888701906001600160a01b03169052565b611ec9611eb2611e9b611e8460e086015194611e4d61014096878c019015159052565b8601519a611e626101609c8d8c019015159052565b8601519461018095868b0152860151966101a0978b8b830301898c0152611afa565b99850151996101c09a8a8a8303018c8b0152611c92565b92840151926101e0938989830301858a0152611afa565b938301519361020094888883030186890152611afa565b968201516102208601528101516102408501520151928285030191015261191a565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161112457565b634e487b7160e01b5f52603260045260245ffd5b600154811015611f555760015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601905f90565b611f0c565b8051821015611f555760209160051b010190565b60405160208101917f0000000000000000000000000000000000000000000000000000000000000000835263ffffffff60e01b166040820152602481526060810181811067ffffffffffffffff8211176101ef5760405251902090565b60405163aaabadc560e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610367575f9161201b575090565b90506020813d602011612048575b81612036602093836103b0565b810103126101725751610495816104b0565b3d9150612029565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff81164210156120825790565b505f90565b907f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008082019081831161112457845192838301958684116111245760209260018480946040519a82818d01016040528b52805f838d017f00000000000000000000000000000000000000000000000000000000000000003c8a01017f00000000000000000000000000000000000000000000000000000000000000003c01918501015e565b60ff6002541661215957565b633ac4266d60e11b5f5260045ffd5b1561216f57565b60405162461bcd60e51b815260206004820152601560248201527f496e76616c696420706f6f6c20726567697374727900000000000000000000006044820152606490fd5b156121bb57565b60405162461bcd60e51b815260206004820152601a60248201527f4c696d69742065786365656473206172726179206c656e6774680000000000006044820152606490fd5b1561220757565b60405162461bcd60e51b815260206004820152603160248201527f64657461696c206e6565647320616c6c2034205b63617465676f72792c206e6160448201527f6d652c20747970652c2064657461696c5d0000000000000000000000000000006064820152608490fd5b6122ae906102006101e0820151916001938360018695161590811591612323575b8115612316575b8115612309575b81156122fc575b50612168565b016122be603282515111156121b4565b5f915b6122ca57505050565b805180518310156122f657826122ef60046122e787968795611f5a565b515114612200565b01916122c1565b50505050565b602091501615155f6122a8565b60108116151591506122a1565b600881161515915061229a565b6002811615159150612293565b90610fc961233d91612cfa565b8051156123eb576020815191015ff5906001600160a01b03918281169081156123dc579261236961214d565b815f525f60205260405f20600160ff19825416179055600154680100000000000000008110156101ef578060016123a39201600155611f20565b819291549060031b9184831b921b19161790557f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc5f80a2565b633a0ba96160e11b5f5260045ffd5b631328927760e21b5f5260045ffd5b1561240157565b60405162461bcd60e51b815260206004820152600a602482015269494e564153535745494760b01b6044820152606490fd5b1561243a57565b60405162461bcd60e51b815260206004820152600a60248201526912539593d490d4d5105360b21b6044820152606490fd5b1561247357565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c69642072756c6560a01b6044820152606490fd5b156124ae57565b60405162461bcd60e51b8152602060048201526006602482015265494e564c414d60d01b6044820152606490fd5b156124e357565b60405162461bcd60e51b815260206004820152601760248201527f456974686572207363616c6172206f7220766563746f720000000000000000006044820152606490fd5b1561252f57565b60405162461bcd60e51b81526020600482015260086024820152670929cacbe8aa09ab60c31b6044820152606490fd5b801561257257670de0b6b3a76400000590565b634e487b7160e01b5f52601260045260245ffd5b1561258d57565b60405162461bcd60e51b815260206004820152600a60248201526912539597d05094d5d1d560b21b6044820152606490fd5b156125c657565b60405162461bcd60e51b81526020600482015260096024820152684e4f50524f564f524360b81b6044820152606490fd5b156125fe57565b60405162461bcd60e51b81526020600482015260076024820152664f4c4e5745494760c81b6044820152606490fd5b908160209103126101725751610495816104c1565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106126775750505050505090565b9091929394958480612695600193603f198682030187528a51611afa565b9801930193019194939290612667565b156126ac57565b60405162461bcd60e51b8152602060048201526009602482015268494e56524c4550524d60b81b6044820152606490fd5b156126e457565b60405162461bcd60e51b815260206004820152600b60248201526a494e564d4158545241444560a81b6044820152606490fd5b1561271e57565b606460405162461bcd60e51b815260206004820152602060248201527f4174206c656173742074776f20746f6b656e73206172652072657175697265646044820152fd5b908160011b918083046002149015171561112457565b9061278282610498565b61278f60405191826103b0565b82815280926127a0601f1991610498565b0190602036910137565b9190915f838201938412911290801582169115161761112457565b90610160820190815151518015159081612b7c575b5080612b68575b6127ea906123fa565b6127fa6101c08401511515612433565b6128326001600160a01b0361282a61281e60208651016001600160a01b0390511690565b6001600160a01b031690565b16151561246c565b5f5b608083510151805182101561289c579061288461287461286761285984600196611f5a565b5167ffffffffffffffff1690565b67ffffffffffffffff1690565b5f8113908161288a575b506124a7565b01612834565b670de0b6b3a76400009150125f61287e565b50509160808251015151906128bf60019260018114908115612b58575b506124dc565b6128ec6128dc61286760a086510167ffffffffffffffff90511690565b5f81139081612b45575b50612528565b60c061290861286760c086510167ffffffffffffffff90511690565b61014083019061291982515161255f565b1380612b16575b61292990612586565b61293a6040865101515115156125bf565b61294d60408651015151825151146125f7565b845161010061296961281e60208401516001600160a01b031690565b9101519060206040518092630df61b8f60e01b8252818061298f60049760048301612642565b03915afa80156103675786956129b2606092612a05945f91612af7575b506126a5565b6129e867ffffffffffffffff6129d460e08c51015167ffffffffffffffff1690565b168015159081612ae4575b509a999a6126dd565b6129f9600160408301515111612717565b01515183515190612d23565b5f96612a1a612a15845151612762565b612778565b935f965b612a4a575b5050505050505090670de0b6b3a764000003612a3b57565b631ce788a760e11b5f5260045ffd5b83518051881015612ade5787612a5f91611f5a565b518251820151612a789067ffffffffffffffff16612867565b13612ad05785612aae88999a612a90839a8851611f5a565b51612a9b8c8a611f5a565b52612aa78b8851611f5a565b51906127aa565b985f612ac5612abf88515184611eff565b89611f5a565b520196989798612a1e565b8263bd39358360e01b5f525ffd5b50612a23565b670429d069189e0000915011155f6129df565b612b10915060203d6020116103605761035281836103b0565b5f6129ac565b50612929662386f26fc10000612b3c61286760c089510167ffffffffffffffff90511690565b12159050612920565b670de0b6b3a7640000915013155f6128e6565b905061014083015151145f6128b9565b5061014083015151606084015151146127e1565b905061014084015151145f6127da565b94919390926001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001695612bc6612050565b91873b156101725760405163eeec802f60e01b8152981660048901526101a0602489015285516101a4890181905288966101c488019695949392916020918201915f5b828110612ccd5750505050604487015263ffffffff1660648601525f9593859387938593612caf9291612c7d91612c6c9088608489015260a4880190604090816001600160a01b0391828151168552826020820151166020860152015116910152565b6001600160a01b0316610104860152565b805115156101248501526020810151151561014485015260408101511515610164850152606001511515610184840152565b03925af1801561036757612cc05750565b80610e996104d69261039c565b91939495969798839a5090612ce6600192829551611a68565b9a019101918b999897969594939192612c09565b6040516020810191338352466040830152606082015260608152612d1d81610380565b51902090565b03612d2a57565b63aaad13f760e01b5f5260045ffdfea2646970667358221220f8e1be15bc450d158fafdd885bd7291972c85e675263cf5d10b027dd6f684f1164736f6c634300081a00336102206040523461082257616b3b803803809161001e82610220610b47565b610220396040811261082257610220516001600160401b03811161082257610220019060e08282610220010312610822576040519160e083016001600160401b038111848210176106b15760405280516001600160401b0381116108225761008d908361022001908301610b6a565b835260208101516001600160401b038111610822576100b3908361022001908301610b6a565b60208401526040818101519084015260608101516001600160401b038111610822576100e6908361022001908301610b6a565b60608401526100f760808201610bbf565b608084015260a0818101519084015260c08101516001600160401b038111610822578261022001601f82840101121561082257808201519061013882610bd3565b936101466040519586610b47565b8285526020850193816102200160208560051b85840101011161082257602083820101945b60208560051b85840101018610610a7f5760c0880187905261024051886001600160a01b03821682036108225760608101519080519260208201519360405180604081011060018060401b036040830111176106b1576040810160405260018152603160f81b60208201526101df82610c38565b610120526101ec81610d9d565b6101405281516020830120908160e0526020815191012080610100524660a052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020840152604083015260608201524660808201523060a082015260a081528060c081011060018060401b0360c0830111176106b15760c08101604052602081519101206080523060c052816101605280519060018060401b0382116106b15761029c600354610bea565b601f8111610a31575b50602090601f83116001146109aa576102d592915f918361099f575b50508160011b915f199060031b1c19161790565b6003555b83516001600160401b0381116106b1576102f4600454610bea565b601f8111610951575b506020601f82116001146108ea57819061032e939495965f926108df5750508160011b915f199060031b1c19161790565b6004555b610180528151916001600160401b0383116106b157610352600554610bea565b601f81116108ae575b50602090601f841160011461084457928061038d926004955f926108395750508160011b915f199060031b1c19161790565b6005555b6040818101516101a0526080820151600980546001600160a01b0319166001600160a01b0392909216918217905590516360bcf9b160e11b81529260209184919082905afa801561082e575f906107f0575b6101e052426101c05260a08101516102005260c00151805191506801000000000000000082116106b15760065482600655808310610735575b506020019060065f5260205f205f925b82841061054557604051615c8e9081610ead82396080518161475d015260a05181614828015260c0518161472e015260e051816147ac015261010051816147d2015261012051816128ac015261014051816128d801526101605181818161072a0152818161082e01528181610ce9015281816125390152818161287001528181612b9901528181612ef0015281816131e801528181613d6401526146e901526101805181818161205b01528181612168015281816122470152818161246b015261298901526101a05181818161038601528181612fb801528181614015015261486701526101c0518181816102b901528181610610015261359e01526101e051816105e001526102005181818161086b01526121f10152f35b80518051906801000000000000000082116106b15783548285558083106106c5575b5060200190835f5260205f205f925b82841061059357505050506001602081920192019301929061042c565b80518051906001600160401b0382116106b1576105b08454610bea565b601f8111610676575b50602090601f831160011461060a57926105f0836001959460209487965f926105ff5750508160011b915f199060031b1c19161790565b85555b01920193019290610576565b015190508e806102c1565b90845f5260205f20915f5b601f198516811061065e575083602093600196938796938794601f19811610610646575b505050811b0185556105f3565b01515f1960f88460031b161c191690558d8080610639565b91926020600181928685015181550194019201610615565b6106a190855f5260205f20601f850160051c810191602086106106a7575b601f0160051c0190610c22565b8a6105b9565b9091508190610694565b634e487b7160e01b5f52604160045260245ffd5b845f528260205f2091820191015b8181106106e05750610567565b806106ed60019254610bea565b806106fa575b50016106d3565b601f8111831461070f57505f81555b896106f3565b5f9082825261072c601f60208420920160051c8201858301610c22565b81835555610709565b60065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9081019083015b81811061076e575061041c565b80545f825580610782575b50600101610761565b815f5260205f20908101905b81811061079b5750610779565b806107a860019254610bea565b806107b5575b500161078e565b601f811183146107ca57505f81555b876107ae565b5f908282526107e7601f60208420920160051c8201858301610c22565b818355556107c4565b506020823d602011610826575b8161080a60209383610b47565b810103126108225761081d60c092610bbf565b6103e3565b5f80fd5b3d91506107fd565b6040513d5f823e3d90fd5b0151905085806102c1565b9060055f5260205f20915f5b601f19861681106108965750918491600193600496601f1981161061087e575b505050811b01600555610391565b01515f1960f88460031b161c19169055848080610870565b91926020600181928685015181550194019201610850565b6108d99060055f5260205f20601f860160051c810191602087106106a757601f0160051c0190610c22565b8361035b565b0151905086806102c1565b60045f5260205f20905f5b601f1984168110610939575060019394959683601f19811610610921575b505050811b01600455610332565b01515f1960f88460031b161c19169055858080610913565b9091602060018192858b0151815501930191016108f5565b60045f52610999907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106106a757601f0160051c0190610c22565b856102fd565b0151905087806102c1565b60035f90815292917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915b601f1984168510610a16576001945083601f198116106109fe575b505050811b016003556102d9565b01515f1960f88460031b161c191690558680806109f0565b818101518355602094850194600190930192909101906109d5565b60035f52610a79907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f850160051c810191602086106106a757601f0160051c0190610c22565b866102a5565b85516001600160401b038111610822578361022001603f828786010101121561082257602081868501010151610ab481610bd3565b91610ac26040519384610b47565b81835260208301866102200160408460051b848b8a0101010111610822576040828988010101905b60408460051b848b8a010101018210610b1057505050908252506020958601950161016b565b81516001600160401b03811161082257602091610b3c8960408594888f8f610220019401010101610b6a565b815201910190610aea565b601f909101601f19168101906001600160401b038211908210176106b157604052565b81601f82011215610822578051906001600160401b0382116106b15760405192610b9e601f8401601f191660200185610b47565b8284526020838301011161082257815f9260208093018386015e8301015290565b51906001600160a01b038216820361082257565b6001600160401b0381116106b15760051b60200190565b90600182811c92168015610c18575b6020831014610c0457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610bf9565b818110610c2d575050565b5f8155600101610c22565b805160209081811015610cae5750601f825111610c705780825192015190808310610c6257501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b919291906001600160401b0382116106b157610cca5f54610bea565b601f8111610d76575b5080601f8311600114610d1457508190610d0293945f92610d095750508160011b915f199060031b1c19161790565b5f5560ff90565b015190505f806102c1565b90601f198316945f8052825f20925f905b878210610d5e575050836001959610610d46575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610d39565b80600185968294968601518155019501930190610d25565b610d97905f8052601f835f20910160051c810190601f850160051c01610c22565b5f610cd3565b805160209081811015610dc75750601f825111610c705780825192015190808310610c6257501790565b9192916001600160401b0381116106b157600191610de58354610bea565b601f8111610e85575b5080601f8311600114610e2557508190610e1e9394955f92610d095750508160011b915f199060031b1c19161790565b905560ff90565b90601f19831695845f52825f20925f905b888210610e6e5750508385969710610e56575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610e49565b808785968294968601518155019501930190610e36565b610ea690845f52601f835f20910160051c810190601f850160051c01610c22565b5f610dee56fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146135cc57508063021eb7cd1461358257806306fdde03146134d9578063095ea7b3146134825780630f6480df14613465578063132f42641461318357806316a0b3e014612f4157806318160ddd14612f2757806323b872dd14612ea557806323de665114612e74578063273c1adf14612e5257806330adf81f14612e18578063313ce56714612dfd5780633644e51514612de3578063451a10aa14612d6557806354fd4d5014612cbc5780635687f2b814612c68578063627cdcb914612c3f578063654cf15d14612c1d578063679aefce14612bff57806370a0823114612b5257806372c9818614612a665780637445e37f14612a405780637ecebe0014612a0857806381fa807c1461295b57806384b0196e146128945780638d928af8146128515780638ddf01c01461282857806395d89b411461274a578063984de9e8146125a8578063a9059cbb146124d5578063aa6ca80814612441578063abb1dc4414612214578063afcff50f146121da578063b156aa0a1461213e578063b677fa561461211c578063c0f38e74146120bc578063ce20ece71461209c578063d335b0cf14612030578063d36a274f14610d7d578063d505accf14610b8e578063d5787898146107a7578063dd62ed3e146106d0578063dddd104a146105bb578063e313fe3814610553578063e4e3b53514610303578063eb296de1146102dc578063ecda10f5146102a1578063f89f27ed1461026d5763fd2c80ae14610244575f80fd5b3461026a578060031936011261026a5760206001600160401b03600f5416604051908152f35b80fd5b503461026a578060031936011261026a5761029d610289614865565b6040519182916020835260208301906138b3565b0390f35b503461026a578060031936011261026a5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461026a578060031936011261026a5760206001600160401b03600d5416604051908152f35b503461026a57606036600319011261026a576004356001600160401b0380821161054f573660238301121561054f57816004013590811161054f576024820191602436918360051b01011161054f5761035a61363c565b906044359164ffffffffff9182841680850361054b576001600160a01b039384600954163303610520577f0000000000000000000000000000000000000000000000000000000000000000906001918060011b908082046002149015171561050c5784036104e25760088411156104bf5761040a6103fc6103f66103e76103e236898e61394d565b614e93565b6104016103fc6103f683613c82565b51614af8565b613c82565b51600755613ca3565b51600855959092955b4216926040519161042383613731565b848352836020809401528469ffffffffff0000000000600a549260281b169169ffffffffffffffffffff19161717600a5560405196806060890160608a52526080880198928a5b8281106104ac578b8b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc8c808d8d8d8d6020850152604084015216930390a280f35b84358b529981019993810193830161046a565b6104d56103fc6104d036878c61394d565b614af8565b5160075595909295610413565b60405162461bcd60e51b815260206004820152600260248201526115d160f21b6044820152606490fd5b634e487b7160e01b8a52601160045260248afd5b60405162461bcd60e51b81526020600482015260036024820152622c2aa960e91b6044820152606490fd5b8680fd5b8280fd5b503461026a57602036600319011261026a57600435600c548110156105b757600c602092526001600160401b038160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015460c06040519360061b161c168152f35b5080fd5b503461026a57602036600319011261026a576105d5613626565b6001600160a01b03807f00000000000000000000000000000000000000000000000000000000000000001633036106a5576305a39a806106357f000000000000000000000000000000000000000000000000000000000000000042613a62565b101561067a5780600954921691826001600160a01b0319821617600955167fc51fb6cc8e37fb27ff77886c5b33be204bb0a91dc410398c3a9bef63760c0b9d8380a380f35b60405162461bcd60e51b815260206004820152600360248201526258494d60e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526216105160ea1b6044820152606490fd5b503461026a57604036600319011261026a576106ea613626565b9060206106f561363c565b60405163927da10560e01b81523060048201526001600160a01b039485166024820152908416604482015292839060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561079b5790610764575b602090604051908152f35b506020813d602011610793575b8161077e60209383613783565b8101031261078f5760209051610759565b5f80fd5b3d9150610771565b604051903d90823e3d90fd5b503461026a578060031936011261026a576040519061012082018281106001600160401b03821117610b7a5760405260608252806020830152806040830152606080830152606060808301528060a08301528060c08301528060e08301528061010083015260405163ca4f280360e01b815230600482015281816024816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b6f578291610b4d575b50825260105460208301527f00000000000000000000000000000000000000000000000000000000000000006040830152600b5461089b816137a4565b906108a96040519283613783565b808252827f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9602084015b838310610af357505050506060830152604051908180926020600c54918281520190600c84527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c793905b806003830110610aa157610955945490808310610a85575b808310610a66575b808310610a47575b8210610a33575b50500382613783565b60808201526001600160401b03600d5481811660a084015260401c1660c0820152600e5460e08201526001600160401b03600f54166101008201526040518091602082526001600160401b03610100610a046109bf845161012060208801526101408701906138e6565b60208501516040870152604085015160608701526109ef606086015191601f1992838983030160808a01526139ca565b906080860151908783030160a0880152613a26565b928260a08201511660c08601528260c08201511660e086015260e0810151828601520151166101208301520390f35b60c01c82526020909101906001015f61094c565b919260206001916001600160401b038460801c16815201930191610945565b919260206001916001600160401b038460401c1681520193019161093d565b919260206001916001600160401b038416815201930191610935565b916004919350608060019186546001600160401b03811682526001600160401b038160401c1660208301526001600160401b0381841c16604083015260c01c606082015201940192018492939161091d565b604051825480825283885260208089209083019189905b808210610b355750505060019282610b2785946020940382613783565b8152019201920191906108d3565b90919260016020819286548152019401920190610b0a565b610b6991503d8084833e610b618183613783565b810190614484565b5f61085e565b6040513d84823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b503461026a5760e036600319011261026a57610ba8613626565b610bb061363c565b90604435916064359160843560ff81168103610d7957834211610d6557610bf1826001600160a01b03165f52600260205260405f2080549060018201905590565b9060405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983526001600160a01b039687861694856040850152888816606085015289608085015260a084015260c083015260c0825260e08201908282106001600160401b03831117610b7a578793610cab93610ca293604052519020610c7b614724565b906040519161190160f01b83526002830152602282015260c43591604260a435922061538b565b9092919261540d565b16818103610d505760405163e1f21c6760e01b81526001600160a01b03848116600483015285166024820152604481018790528790602081606481857f00000000000000000000000000000000000000000000000000000000000000008c165af18015610b6f57610d1a575080f35b6020813d602011610d48575b81610d3360209383613783565b810103126105b757610d4490613aa7565b5080f35b3d9150610d26565b6325c0072360e11b8752600452602452604485fd5b63313c898160e11b86526004849052602486fd5b8580fd5b503461078f57602036600319011261078f576001600160401b036004351161078f576102606004353603600319011261078f5760405161022081018181106001600160401b03821117610b7a57604052600435600401356001600160401b03811161078f57610df3906004369181350101613895565b8152602460043501356001600160401b03811161078f57610e1b906004369181350101613895565b6020820152604460043501356001600160401b03811161078f57600435013660238201121561078f57600481013590610e53826137a4565b91610e616040519384613783565b80835260208301913660248360071b8301011161078f579160248301925b60248360071b8201018410611fb257505050506040820152606460043501356001600160401b03811161078f57610ebd9060043691813501016137bb565b606082015260606083196004353603011261078f57604051610ede816136e8565b610eec608460043501613652565b8152610efc60a460043501613652565b6020820152610f0f60c460043501613652565b6040820152608082015260e4600435013560a0820152610f3461010460043501613652565b60c0820152610f4861012460043501613940565b60e0820152610f5c61014460043501613940565b61010082015260043561016481013561012083015261018401356001600160401b03811161078f57610f9590600436918135010161399b565b6101408201526101a460043501356001600160401b03811161078f5761014060043582013603600319011261078f5760405190610fd1826136cc565b60048181350101356001600160401b03811161078f573660238284600435010101121561078f5761100a600482848235010101356137a4565b906110186040519283613783565b60048035840182019081013580845260208401913660059290921b016024011161078f5760248285600435010101905b60048035860184019081013560051b016024018210611f965750505082526004358101602401356001600160a01b038116900361078f57600435810160248101356020840152604401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135906110c5826137a4565b916110d36040519384613783565b808352602083013660248360051b8588600435010101011161078f5760248386600435010101905b60248360051b8588600435010101018210611ede5750505050604083015260043581016064013561ffff8116900361078f57600435810160648101356060840152608401356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611172816137a4565b916111806040519384613783565b81835260208301903660248460051b8388600435010101011161078f579060248286600435010101915b60248460051b8288600435010101018310611ec2575050505060808301526111d860a48260043501016139b6565b60a08301526111ed60c48260043501016139b6565b60c083015261120260e48260043501016139b6565b60e0830152610104816004350101356001600160401b03811161078f573660238284600435010101121561078f5760048183823501010135611243816137a4565b916112516040519384613783565b818352602083013660248460051b8488600435010101011161078f5760248286600435010101905b60248460051b8488600435010101018210611e8957505050506101008301526112a9906004350161012401613652565b6101208201526101608201526101c460043501356001600160401b03811161078f576112dc90600436918135010161399b565b6101808201526001600160401b036101e460043501351161078f5761130c36600480356101e4810135010161399b565b6101a08201526004356102048101356101c08301526102248101356101e083015261024401356001600160401b03811161078f57366023826004350101121561078f57600481813501013590611361826137a4565b9161136f6040519384613783565b80835260208301913660248360051b836004350101011161078f576024816004350101925b60248360051b836004350101018410611dc157505050506102008201527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054916001600160401b0383161580611db3575b60016001600160401b038516149081611da9575b159081611da0575b50611d915760016001600160401b03198416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615611d52575b6101c0820151601055608061016083015161ffff6060820151166001600160401b0319600f541617600f5501518051906001600160401b038211610b7a57680100000000000000008211610b7a57600c5482600c55808310611c9a575b5060200190600c5f525f5b8160021c8110611c3557506003198116808203611bb8575b5050506101006101608301516001600160401b0360a082015116600d54906fffffffffffffffff000000000000000060c084015160401b16916fffffffffffffffffffffffffffffffff19161717600d556001600160401b0360e082015116600e550151805190680100000000000000008211610b7a57600b5482600b55808310611b49575b5060200190600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f905b828210611ab457505050506001600160a01b036020610160840151015116610180830151906101a08401516101408501515191803b1561078f576115e65f6115f8958195604051978896879586946344a01eb360e01b8652306004870152608060248701526084860190614a55565b84810360031901604486015290614a55565b90606483015203925af18015611aa957611a98575b506001600160a01b036009541661016083015190803b1561054f5782918291604051809481809463393e635b60e11b8252602060048301526001600160a01b036101206117096116b7611693611671865161014060248a01526101648901906138e6565b60208701518616604489015260408701518882036023190160648a01526144a9565b606086015161ffff16608488015260808601518782036023190160a4890152613a26565b6001600160401b0360a08601511660c48701526001600160401b0360c08601511660e48701526001600160401b0360e086015116610104870152610100850151602319878303016101248801526139ca565b9201511661014483015203925af18015610b6f57908291611a84575b5050610140820151600754611a59578051808060011b0460021481151715611a45576117539060011b6143e1565b93825b8251811015611794578061176c60019285613d35565b516117778289613d35565b528461178d611787865184614858565b89613d35565b5201611756565b5082610160858760088151115f14611a30576117b86103fc6103f66103e784614e93565b516008555b7f3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc64ffffffffff4216918260206040516117f681613731565b8281520152600a548369ffffffffff00000000004260281b169169ffffffffffffffffffff19161717600a5561183760405191606083526060830190614a55565b9280602083015260408201528030930390a20151916001600160a01b03602084015116604084015193608081015194610100820151916001600160401b0360a082015116966001600160401b0360c083015116906118c06001600160a01b0361012061ffff606087015116950151169460405197885261012060208901526101208801906144a9565b868103604088015260208083519283815201920190895b818110611a11575050508581036060870152845180825260208201906020808260051b8501019701918a905b8282106119df578b60ff8c8f8d808e8e8e8e7f0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a96608086015260a085015260c084015260e0830152336101008301520390a160401c16156119615780f35b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b90919297602080611a00879f9793600194601f199082030186528c51613699565b9a01920192019092919b939b611903565b82516001600160401b03168452602093840193909201916001016118d7565b611a3c6103fc82614af8565b516007556117bd565b634e487b7160e01b83526011600452602483fd5b606460405162461bcd60e51b81526020600482015260046024820152631a5b9a5d60e21b6044820152fd5b611a8d9061371e565b61026a57805f611725565b611aa2915061371e565b5f8061160d565b6040513d5f823e3d90fd5b80518051906001600160401b038211610b7a57680100000000000000008211610b7a578554828755808310611b22575b50602001855f5260205f205f5b838110611b0e575050505060016020819201940191019092611577565b600190602084519401938184015501611af1565b865f5260205f20908382015b8183018110611b3e575050611ae4565b5f8155600101611b2e565b7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908382015b8183018110611b7f575050611549565b80545f825580611b93575b50600101611b6f565b815f5260205f2090815b8183018110611bad575050611b8a565b5f8155600101611b9d565b915f925f5b8184038110611bf75750505060021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701555f80806114c3565b9091936020611c2b6001926001600160401b03885116908560031b60031b916001600160401b03809116831b921b19161790565b9501929101611bbd565b5f805b60048110611c6d57507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c78201556001016114ab565b84519094916001916020916001600160401b03600689901b81811b199092169216901b1792019401611c38565b60188360031b1680611d12575b506003830160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7015b6003820160021c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018110611d0757506114a0565b5f8155600101611cd2565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c66003850160021c01908154905f199060200360031b1c1690555f611ca7565b68ffffffffffffffffff19831668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611443565b63f92ee8a960e01b5f5260045ffd5b9050155f611401565b303b1591506113f9565b5060ff8360401c16156113e5565b83356001600160401b03811161078f573660438285600435010101121561078f576024818460043501010135611df6816137a4565b91611e046040519384613783565b818352602083013660448460051b8489600435010101011161078f5760448287600435010101905b60448460051b8489600435010101018210611e54575050509082525060209384019301611394565b81356001600160401b03811161078f57602091611e7e839260443691888d60043501010101613895565b815201910190611e2c565b8135906001600160401b03821161078f5760208091611eb5602494853691898d6004350101010161399b565b8152019201919050611279565b602080602493611ed1866139b6565b81520193019291506111aa565b81356001600160401b03811161078f5736604382878a60043501010101121561078f5760248186896004350101010135611f17816137a4565b91611f256040519384613783565b81835260208301903660448b838b8760051b9260043501010101011161078f57604481898c60043501010101915b60448b838b8760051b9260043501010101018310611f7e5750505090825250602091820191016110fb565b60208091611f8b85613652565b815201920191611f53565b602080602492611fa585613652565b8152019201919050611048565b60808436031261078f5760405191611fc983613703565b611fd285613652565b835260026020860135101561078f576020858101359084015260408501356001600160a01b038116900361078f57602060809160249460408801356040820152606061201f818a01613940565b908201528152019401939150610e7f565b3461078f575f36600319011261078f5760405163b45090f960e01b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa9575f9061076457602090604051908152f35b3461078f575f36600319011261078f5760206040516509184e72a0008152f35b3461078f57604036600319011261078f5760043560243590600b5481101561078f577f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190815481101561078f576020915f52815f200154604051908152f35b3461078f575f36600319011261078f5760206040516709b6e64a8ec600008152f35b3461078f575f36600319011261078f576040516329ae7ec560e11b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916121b8575b506040519182916020835260208301906138b3565b6121d491503d805f833e6121cc8183613783565b810190613b15565b826121a3565b3461078f575f36600319011261078f5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b3461078f575f36600319011261078f576040516333f0703b60e11b81523060048201526001600160a01b03905f816024817f000000000000000000000000000000000000000000000000000000000000000086165afa8015611aa9575f915f935f915f93612314575b50612293604051946080865260808601906138e6565b6020858203818701528080885193848152019701925f905b8382106122d857878061029d896122ca8d8b85820360408701526138b3565b9083820360608501526138b3565b909192939783606060019260408c5180516122f281613922565b83528085015187168584015201511515604082015201990194939201906122ab565b9450925050503d805f843e6123298184613783565b82019060808383031261078f578251926001600160401b039384811161078f5783612355918301614413565b906020938482015186811161078f57820181601f8201121561078f5780519061237d826137a4565b9661238b6040519889613783565b8288528088018160608095028401019285841161078f578201905b8382106123ec575050505050604082015186811161078f57816123ca918401613ab4565b95606083015190811161078f576123e19201613ab4565b90929390918561227d565b848287031261078f5760405190612402826136e8565b8251600281101561078f57825283830151908a8216820361078f57828592838995015261243160408601613aa7565b60408201528152019101906123a6565b3461078f575f36600319011261078f5760405163ca4f280360e01b81523060048201525f816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa8015611aa95761029d915f916124bb575b506040519182916020835260208301906138e6565b6124cf91503d805f833e610b618183613783565b826124a6565b3461078f57604036600319011261078f5761252c60206124f3613626565b6040516317d5759960e31b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b03815f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa957612571575b602060405160018152f35b6020813d6020116125a0575b8161258a60209383613783565b8101031261078f5761259b90613aa7565b612566565b3d915061257d565b3461078f57604036600319011261078f576004356001600160401b03811161078f576125d89036906004016137bb565b602435600281101561078f576125ed81613922565b6127435760045b6125fc614865565b90806003146126ef578060041461268457806001146126445760021461263057634e487b7160e01b5f52605160045260245ffd5b60209161263c9161546d565b604051908152f35b50670de0b6b3a7640000908181029181830414901517156126705760209161266b9161484e565b61263c565b634e487b7160e01b5f52601160045260245ffd5b505f9190670de0b6b3a76400005b81518410156126ce576126c66001916126c06126ae8787613d35565b516126b98887613d35565b5190615031565b906150bc565b930192612692565b9250505080156126e05760209061263c565b632654368960e01b5f5260045ffd5b505f9190670de0b6b3a76400005b81518410156126ce57670de0b6b3a764000061273a6001926127346127228888613d35565b5161272d8988613d35565b5190615296565b9061456d565b049301926126fd565b60036125f4565b3461078f575f36600319011261078f576040516004545f8261276b83613a6f565b91828252602093600190856001821691825f146128085750506001146127ad575b5061279992500383613783565b61029d604051928284938452830190613602565b84915060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b905f915b8583106127f057505061279993508201018561278c565b805483890185015287945086939092019181016127d9565b60ff19168582015261279995151560051b850101925087915061278c9050565b3461078f575f36600319011261078f5760206001600160401b03600d5460401c16604051908152f35b3461078f575f36600319011261078f5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461078f575f36600319011261078f5761292d6128d07f00000000000000000000000000000000000000000000000000000000000000006150de565b61029d6128fc7f00000000000000000000000000000000000000000000000000000000000000006151d8565b61293b6040519161290c8361374c565b5f8352604051958695600f60f81b875260e0602088015260e0870190613602565b908582036040870152613602565b904660608501523060808501525f60a085015283820360c08501526138b3565b3461078f575f36600319011261078f5760405163f29486a160e01b81523060048201526101a09081816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9576040925f926129db575b505060608282015191015182519182526020820152f35b6129fa9250803d10612a01575b6129f28183613783565b810190613b3a565b82806129c4565b503d6129e8565b3461078f57602036600319011261078f576001600160a01b03612a29613626565b165f526002602052602060405f2054604051908152f35b3461078f575f36600319011261078f5760206001600160a01b0360095416604051908152f35b3461078f5760031960203682011261078f57600435906001600160401b039081831161078f5760e090833603011261078f576040519160e0830183811083821117610b7a576040528060040135600281101561078f57835260248101356020840152604481013582811161078f57612ae490600436918401016137bb565b60408401526064810135606084015260848101356080840152612b0960a48201613652565b60a084015260c481013591821161078f57013660238201121561078f57602091612b4061263c923690602460048201359101613850565b60c0820152612b4d6146df565b61400b565b3461078f5760208060031936011261078f57604481612b6f613626565b604051633de222bb60e21b81523060048201526001600160a01b03918216602482015292839182907f0000000000000000000000000000000000000000000000000000000000000000165afa908115611aa9575f91612bd2575b50604051908152f35b90508181813d8311612bf8575b612be98183613783565b8101031261078f575182612bc9565b503d612bdf565b3461078f575f36600319011261078f5762c73cd160e51b5f5260045ffd5b3461078f575f36600319011261078f57602060405167016345785d8a00008152f35b3461078f575f36600319011261078f57335f908152600260205260409020805460018101909155005b3461078f5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925612c993661381b565b92919390612ca56146df565b6001600160a01b03809160405195865216941692a3005b3461078f575f36600319011261078f576040516005545f82612cdd83613a6f565b91828252602093600190856001821691825f14612808575050600114612d0a575061279992500383613783565b84915060055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0905f915b858310612d4d57505061279993508201018561278c565b80548389018501528794508693909201918101612d36565b3461078f57604036600319011261078f576001600160401b0360043581811161078f57612d96903690600401613895565b60243591821161078f57612dbe61029d91612db8612dd5943690600401613895565b90613dce565b604092919251938493604085526040850190613602565b908382036020850152613602565b3461078f575f36600319011261078f57602061263c614724565b3461078f575f36600319011261078f57602060405160128152f35b3461078f575f36600319011261078f5760206040517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98152f35b3461078f575f36600319011261078f5760206040516729a2241af62c00008152f35b3461078f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612c993661381b565b3461078f5760846020612eb73661381b565b604051630aed65f560e11b81523360048201526001600160a01b0393841660248201529183166044830152606482015292839182905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015611aa95761257157602060405160018152f35b3461078f575f36600319011261078f57602061263c613d49565b3461078f57606036600319011261078f576004356001600160401b03811161078f57612f719036906004016137bb565b60443590612fdd602435612fb48164ffffffffff612fad42821682612f94613c43565b816020820151168042101561317b575b50511690613c6b565b1694613d35565b51927f000000000000000000000000000000000000000000000000000000000000000091614671565b60019190828411156131755760025b80600314613104578060041461309657806001146130575760021461301f57634e487b7160e01b5f52605160045260245ffd5b80156130485760209361263c936126c0926ec097ce7bc90715b34b9f0fffffffff040190615031565b630a0c22c760e01b5f5260045ffd5b508093925015613082576126c061263c926020946ec097ce7bc90715b34b9f10000000000490615031565b634e487b7160e01b5f52601260045260245ffd5b50670de0b6b3a764000093925f91815b6130c4575b50505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe5790826130f681936126c06130ec8a86613d35565b516126b98b613d14565b9601926130a6565b946130ab565b50670de0b6b3a764000093925f91815b6131315750505082156126e0576126c061263c9260209490615031565b909194670de0b6b3a7640000518610156130fe579082670de0b6b3a764000061316c82946127346131628b87613d35565b5161272d8c613d14565b04960192613114565b82612fec565b92508b612fa4565b3461078f575f36600319011261078f5760405161319f816136cc565b60608152606060208201525f60408201525f60608201525f60808201525f60a0820152606060c0820152606060e08201525f6101008201525f6101208201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166040516329ae7ec560e11b81523060048201525f81602481855afa908115611aa9575f9161344b575b508252604051633f1b0def60e11b81523060048201525f81602481855afa908115611aa9575f916133e6575b506024916101a0916020850152613272613d49565b60408501526040519283809263f29486a160e01b82523060048301525afa8015611aa957610120915f916133c5575b5060e081015115156060840152610100810151151560808401520151151560a08201526132cf600754614599565b60c08201526132df600854614599565b60e082015264ffffffffff60206132f4613c43565b8281511661010085015201511661012082015260405180916020825264ffffffffff6101206133ab61333484516101406020880152610160870190613666565b613395613353602087015192601f1993848a83030160408b0152613666565b604087015160608901526060870151151560808901526080870151151560a089015260a0870151151560c089015260c0870151838983030160e08a0152613699565b9060e08601519087830301610100880152613699565b928261010082015116828601520151166101408301520390f35b6133e091506101a03d6101a011612a01576129f28183613783565b836132a1565b90503d805f833e6133f78183613783565b81019160408284031261078f578151916001600160401b039283811161078f5784613423918301613ab4565b90602081015193841161078f576024946101a0946134419201613ab4565b905091509161325d565b61345f91503d805f833e6121cc8183613783565b83613231565b3461078f575f36600319011261078f576020601054604051908152f35b3461078f57604036600319011261078f5761252c60206134a0613626565b60405163e1f21c6760e01b81523360048201526001600160a01b0390911660248083019190915235604482015291829081906064820190565b3461078f575f36600319011261078f576040516003545f826134fa83613a6f565b91828252602093600190856001821691825f14612808575050600114613527575061279992500383613783565b84915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b905f915b85831061356a57505061279993508201018561278c565b80548389018501528794508693909201918101613553565b3461078f575f36600319011261078f5760206305a39a806135c37f000000000000000000000000000000000000000000000000000000000000000042613a62565b10604051908152f35b3461078f57602036600319011261078f576004359063ffffffff60e01b821680920361078f576020916301ffc9a760e01b148152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361078f57565b602435906001600160a01b038216820361078f57565b35906001600160a01b038216820361078f57565b9081518082526020808093019301915f5b828110613685575050505090565b835185529381019392810192600101613677565b9081518082526020808093019301915f5b8281106136b8575050505090565b8351855293810193928101926001016136aa565b61014081019081106001600160401b03821117610b7a57604052565b606081019081106001600160401b03821117610b7a57604052565b608081019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a57604052565b604081019081106001600160401b03821117610b7a57604052565b602081019081106001600160401b03821117610b7a57604052565b61012081019081106001600160401b03821117610b7a57604052565b90601f801991011681019081106001600160401b03821117610b7a57604052565b6001600160401b038111610b7a5760051b60200190565b9080601f8301121561078f5760209082356137d5816137a4565b936137e36040519586613783565b81855260208086019260051b82010192831161078f57602001905b82821061380c575050505090565b813581529083019083016137fe565b606090600319011261078f576001600160a01b0390600435828116810361078f5791602435908116810361078f579060443590565b9291926001600160401b038211610b7a5760405191613879601f8201601f191660200184613783565b82948184528183011161078f578281602093845f960137010152565b9080601f8301121561078f578160206138b093359101613850565b90565b9081518082526020808093019301915f5b8281106138d2575050505090565b8351855293810193928101926001016138c4565b9081518082526020808093019301915f5b828110613905575050505090565b83516001600160a01b0316855293810193928101926001016138f7565b6002111561392c57565b634e487b7160e01b5f52602160045260245ffd5b3590811515820361078f57565b9291613958826137a4565b916139666040519384613783565b829481845260208094019160051b810192831161078f57905b82821061398c5750505050565b8135815290830190830161397f565b9080601f8301121561078f578160206138b09335910161394d565b35906001600160401b038216820361078f57565b90808251908181526020809101926020808460051b8301019501935f915b8483106139f85750505050505090565b9091929394958480613a16600193601f198682030187528a51613699565b98019301930191949392906139e8565b9081518082526020808093019301915f5b828110613a45575050505090565b83516001600160401b031685529381019392810192600101613a37565b9190820391821161267057565b90600182811c92168015613a9d575b6020831014613a8957565b634e487b7160e01b5f52602260045260245ffd5b91607f1691613a7e565b5190811515820361078f57565b9080601f8301121561078f57815190602091613acf816137a4565b93613add6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210613b06575050505090565b81518152908301908301613af8565b9060208282031261078f5781516001600160401b03811161078f576138b09201613ab4565b809103906101a0821261078f57608060405192613b56846136cc565b1261078f57604051613b6781613703565b613b7082613aa7565b8152613b7e60208301613aa7565b6020820152613b8f60408301613aa7565b6040820152613ba060608301613aa7565b606082015282526080810151602083015260a0810151604083015260c0810151606083015260e081015164ffffffffff8116810361078f576080830152610100908181015163ffffffff8116810361078f57613c3c916101809160a086015261012093613c0e858301613aa7565b60c0870152613c206101408301613aa7565b60e0870152613c326101608301613aa7565b9086015201613aa7565b9082015290565b60405190613c5082613731565b816020600a5464ffffffffff90818116845260281c16910152565b64ffffffffff918216908216039190821161267057565b805115613c8f5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015613c8f5760400190565b805160021015613c8f5760600190565b805160031015613c8f5760800190565b805160041015613c8f5760a00190565b805160051015613c8f5760c00190565b805160061015613c8f5760e00190565b805160071015613c8f576101000190565b670de0b6b3a764000051811015613c8f5760051b670de0b6b3a76400200190565b8051821015613c8f5760209160051b010190565b6040516339370aa960e21b81523060048201526020816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115611aa9575f91613d9f575090565b90506020813d602011613dc6575b81613dba60209383613783565b8101031261078f575190565b3d9150613dad565b905f9060068054925b838110613e05575050505050604051613def8161374c565b5f815290604051613dff8161374c565b5f815290565b815f52807ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805490613e37826137a4565b91604090613e4782519485613783565b808452602092838501905f52835f205f915b838310613f5b5750505050613e6d83613c82565b518151613e9484828180820195805191829101875e81015f83820152038084520182613783565b519020888251613ebe85828180820195805191829101875e81015f83820152038084520182613783565b519020149182613ef6575b5050613ed85750600101613dd7565b95945050505050613ef2613eeb83613cb3565b5192613cc3565b5190565b909150613f0283613ca3565b518251613f2983828180820195805191829101875e81015f83820152038084520182613783565b5190209151613f508282019282895180838c01875e81015f83820152038084520182613783565b519020145f80613ec9565b8451825491905f613f6b84613a6f565b8083526001948a86821691825f14613fee575050600114613fa8575b509181613f9a8a93600196950382613783565b815201920192019190613e59565b9050989e9d9c9b9a9998845f52885f20905f915b818310613fdb57509e9f9d9e509b9c9a9b999a98998101880181613f87565b80548484018c0152918a01918501613fbc565b60ff19168582015291151560051b84019091019150829050613f87565b614013613c43565b7f00000000000000000000000000000000000000000000000000000000000000009061405c64ffffffffff91828042169181602082015116804210156143d95750511690613c6b565b16906060830180519260049384811080806143ca575b81156143ad575b501561438c57508151926080860151905f602060405161409881613731565b82815201528185878381841061435a5750505050600319948581019081116143475791858101908111614347579481019081116143265790614103614119939295614112614109856140eb600854614599565b956141036140fb8c830189613d35565b519188613d35565b51615333565b97820184613d35565b5192613d35565b9182602060405161412981613731565b838152015291935b805161413c81613922565b61414581613922565b614265576020810180519360408301966141628851865190613d35565b5194600e5496879661417e670de0b6b3a7640000998a9261456d565b0410614257578851905161419191613d35565b516141a460808a51960195865190613d35565b519351876141b183614539565b04811161424957906141c66141cc9282614858565b9061546d565b918681029080820488149015171561423657614217936141ff61421d9796946141f98a9561420c9561484e565b90615031565b838181039110029061456d565b049651905190613d35565b5161456d565b048211614228575090565b6327e92f0f60e01b5f908152fd5b601188634e487b7160e01b5f525260245ffd5b8863340a453360e01b5f525ffd5b876327e92f0f60e01b5f525ffd5b906020829593950191825193604082019661428860808951940193845190613d35565b5194600e549687966142a4670de0b6b3a7640000998a9261456d565b0410614257576142c66142ba8a51875190613d35565b51948a51905190613d35565b519051876142d383614539565b04811161433957916142f0826141c66142f696956141f995613a62565b9261546d565b670de0b6b3a763ffff19810191908211614326579161431c6142179261421d95946150bc565b9651905190613d35565b601186634e487b7160e01b5f525260245ffd5b886364590b9f60e01b5f525ffd5b601187634e487b7160e01b5f525260245ffd5b91939695945091965011614384575b614103614119939495614112614109856140eb600754614599565b859350614369565b9261439c81836143a79496614671565b936080870151614671565b93614131565b905015806143bc575b5f614079565b5084608087015110156143b6565b90508560808801511090614072565b92505f612fa4565b906143eb826137a4565b6143f86040519182613783565b8281528092614409601f19916137a4565b0190602036910137565b9080601f8301121561078f5781519060209161442e816137a4565b9361443c6040519586613783565b81855260208086019260051b82010192831161078f57602001905b828210614465575050505090565b81516001600160a01b038116810361078f578152908301908301614457565b9060208282031261078f5781516001600160401b03811161078f576138b09201614413565b908082519081815260208091019281808460051b8301019501935f915b8483106144d65750505050505090565b90919280949596601f198382030184528751908280835192838152019201905f905b80821061451757505050908060019298019301930191949392906144c6565b919380600192946001600160a01b0387511681520194019201879392916144f8565b90670429d069189e00009182810292818404149015171561267057565b906127109182810292818404149015171561267057565b8181029291811591840414171561267057565b90633b9aca009182810292818405149015171561267057565b614664604051916145a983613767565b600883526101003660208501376145c28160e01d614580565b6145cb84613c82565b5260036145dc8260c01d820b614580565b6145e585613ca3565b526145f48260a01d820b614580565b6145fd85613cb3565b5261460c8260801d820b614580565b61461585613cc3565b526146248260601d820b614580565b61462d85613cd3565b5261463c8260401d820b614580565b61464585613ce3565b526146548260201d820b614580565b61465d85613cf3565b520b614580565b61466d82613d03565b5290565b8083600482106146b6575060031991808301915081116126705792600854918101908111612670576138b0936141126146ad6141039394614599565b93820184613d35565b6138b09492506004106146d6575b614103906141126146ad600754614599565b600491506146c4565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016330361471157565b63089676d560e01b5f523360045260245ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480614825575b1561477f577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b7a5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614756565b8115613082570490565b9190820180921161267057565b7f000000000000000000000000000000000000000000000000000000000000000061488f816143e1565b9064ffffffffff80421681600a54818160281c1680421015614a4d575b50169003166148bc600754614599565b9180600482119384614a44575b6148e8846148d683613c82565b516148e18585613d35565b5190615333565b6148f187613c82565b5261490d846148ff83613ca3565b516148e16001860185613d35565b61491687613ca3565b526002831115614a3c5761493b8461492d83613cb3565b516148e16002860185613d35565b61494487613cb3565b526003831115614a3c5761496b916148e18260036149628895613cc3565b51930190613d35565b61497485613cc3565b5260048114614a3657614988600854614599565b9215614a36576149aa8261499b85613c82565b516148e1600319850187613d35565b6149b385613cd3565b526005811115614a36576149d9826149ca85613ca3565b516148e1600219850187613d35565b6149e285613ce3565b526006811115614a3657614a08826149f985613cb3565b516148e1600119850187613d35565b614a1185613cf3565b526007811115614a36576148e183614a2b61466495613cc3565b51925f190190613d35565b50505090565b505050505090565b600491506148c9565b92505f6148ac565b9081518082526020808093019301915f5b828110614a74575050505090565b835185529381019392810192600101614a66565b8015613082576ec097ce7bc90715b34b9f10000000000590565b8115613082570590565b15614ab357565b60405162461bcd60e51b815260206004820152601260248201527f4f766572666c6f772f556e646572666c6f7700000000000000000000000000006044820152606490fd5b906060916060925f905f915f918451906008916008811015614bc1575b50505015614baa575b614b29818451613a62565b614b3257505050565b919360e0939193915f5b8651851015614b965760019063ffffffff633b9aca00614b5c888b613d35565b5105637fffffff81131580614b87575b614b7590614aac565b16851b1793601f190194019392614b3c565b50637fffffff19811215614b6c565b935093909450614ba7915084613d35565b52565b9350614bbb60018560031c016143e1565b93614b1e565b84929850809193505b88811015614e72575b5014614e685760018260031c01905b614beb826143e1565b965f5b84811015614b155781633b9aca00918883614c098383613d35565b5105938660019582878601614c1e9086613d35565b510583614c2e6002880187613d35565b51059084614c3f6003890188613d35565b510592878787614c526004840183613d35565b51058686868b80614c666005890188613d35565b51059c8d9660068901614c7891613d35565b51059d60078f9801614c8991613d35565b5105637fffffff808913159073ffffffff00000000000000000000000000000000986fffffffff000000000000000000000000986bffffffff00000000000000009767ffffffff000000009763ffffffff9786614e58575b86614e4d575b5085614e3d575b85614e32575b5084614e22575b84614e17575b5083614e07575b83614dfc575b83614dec575b83614de1575b83614dd1575b5082614dc6575b82614db6575b5081614dab575b5080614d9c575b614d4490614aac565b169b60201b169960401b16971b169460801b169263ffffffff60a01b9060a01b169163ffffffff60c01b9060c01b169063ffffffff60e01b9060e01b1617171717171717614d92898d613d35565b5201950194614bee565b50637fffffff19811215614d3b565b90508113155f614d34565b637fffffff19131591508f614d2d565b818113159250614d27565b637fffffff19131592508f614d20565b828113159350614d1a565b637fffffff198912159350614d14565b828913159350614d0e565b637fffffff198f12159350614d08565b83121593508e614d01565b637fffffff198f12159450614cfb565b84121594508e614cf4565b637fffffff198f12159550614cee565b85121595508e614ce7565b637fffffff198f12159650614ce1565b8160031c90614be2565b9091506007811615614e89578391905f1901614bca565b925082905f614bd3565b90815160019060011c6040805190614eaa826136e8565b600282525f5b8181106150205750508094604051614ec781613767565b600881526101009081366020830137614edf84613c82565b52614ee983613c82565b505f855b614fb6575b5060405190614f0082613767565b60088252366020830137614f1383613ca3565b52614f1d82613ca3565b50600319830190838211612670575f5b828110614f3c57505050505050565b600480820190818311614fa3575090614f7e614f788784614f5e8b9688613d35565b51614f7286614f6c8c613ca3565b51613d35565b52614858565b84613d35565b51614f9c614f8b87613ca3565b51614f968785614858565b90613d35565b5201614f2d565b601190634e487b7160e01b5f525260245ffd5b60048082101561501a57614fca8285613d35565b51614fd883614f6c88613c82565b52614fec614fe68784614858565b85613d35565b5190614ff786613c82565b5181840191828511614fa35750916150128994928594613d35565b520190614eed565b50614ef2565b806060602080938601015201614eb0565b90670de0b6b3a76400009081810361504857505090565b671bc16d674ec800008103615063575050806138b0916150bc565b673782dace9d9000008103615087575050615081816138b0926150bc565b806150bc565b615091919261549e565b90600161509d83614556565b915f19830104019015150260018101809111612670576138b091614858565b906150c69161456d565b6001670de0b6b3a76400005f19830104019015150290565b60ff81146151195760ff811690601f821161510a576040519161510083613731565b8252602082015290565b632cd44ac360e21b5f5260045ffd5b506040515f815f549161512b83613a6f565b808352926020906001908181169081156151b45750600114615156575b50506138b092500382613783565b9150925f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563935f925b82841061519c57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615181565b915050602092506138b094915060ff191682840152151560051b8201015f80615148565b60ff81146151fa5760ff811690601f821161510a576040519161510083613731565b506040515f8160019160015461520f81613a6f565b80845293602091600181169081156151b457506001146152375750506138b092500382613783565b91509260015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6935f925b82841061527e57506138b09450505081016020015f80615148565b85548785018301529485019486945092810192615263565b670de0b6b3a7640000918083036152ad5750905090565b8290671bc16d674ec8000081036152ce575050806152ca9161456d565b0490565b673782dace9d90000081036152f257506152eb826152ca9361456d565b048061456d565b90506152fd9161549e565b61530681614556565b60015f199384830104019015150290600182018083116126705781101561532e575050505f90565b030190565b90670de0b6b3a76400009081810290808205831481151715612670575f121561536a576138b0936153639161456d565b0490614858565b600160ff1b8114612670576138b093615384915f0361456d565b0490613a62565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615402579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611aa9575f516001600160a01b038116156153f857905f905f90565b505f906001905f90565b5050505f9160039190565b600481101561392c578061541f575050565b600181036154365763f645eedf60e01b5f5260045ffd5b60028103615451575063fce698f760e01b5f5260045260245ffd5b60031461545b5750565b6335e2f38360e21b5f5260045260245ffd5b90801561304857670de0b6b3a764000091828102928184041490151715612670576001905f19830104019015150290565b908015615c4a578115615c44578160ff1c615c3657770bce5086492111aea88f4bb1ca6bcf584181ea8059f76532811015615c275781670c7d713b49da00001280615c16575b156158c957670de0b6b3a7640000916ec097ce7bc90715b34b9f100000000090615527908402828101906ec097ce7bc90715b34b9f0fffffffff19018302614aa2565b9080828002059181838202058284820205838582020591848684020593858786020595808888020597880205600f900596600d900595600b900594600990059360079005926005900591600390050101010101010160011b918082818507020592050201670de0b6b3a7640000905b05680238fd42c5cf03ffff1981811315806158b6575b156158a757819082121580615894575b15615885575f915f8112615876575b506064906806f05b59d3b20000008112615829576806f05b59d3b1ffffff190168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b02819068ad78ebc5ac62000000811215615806575b6856bc75e2d6310000008112156157e2575b682b5e3af16b188000008112156157c0575b6815af1d78b58c40000081121561579e575b680ad78ebc5ac620000081121561577d575b8281121561575c575b6802b5e3af16b188000081121561573b575b68015af1d78b58c4000081121561571a575b60028382800205056003848383020505600485848302050585600581868402050560068287830205056007838883020505906008848984020505926009858a8602050595600a868b8902050597600b878c8b02050599600c888d8d0205059b01010101010101010101010102050205905f146138b0576138b090614a88565b6806f5f1775788937937839168015af1d78b58c3ffff19019202059061569b565b6808f00f760a4b2db55d83916802b5e3af16b187ffff190192020590615689565b680ebc5fb41746121110839168056bc75e2d630fffff190192020590615677565b68280e60114edb805d038391680ad78ebc5ac61fffff19019202059061566e565b690127fa27722cc06cc5e283916815af1d78b58c3fffff19019202059061565c565b693f1fce3da636ea5cf8508391682b5e3af16b187fffff19019202059061564a565b6b02df0ab5a80a22c61ab5a70083916856bc75e2d630ffffff190192020590615638565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901615626565b6803782dace9d90000008112615863576803782dace9d8ffffff190168056bc75e2d63100000826b1425982cf597cd205cef738092615611565b68056bc75e2d6310000082600192615611565b600192505f03905060646155cb565b63d4794efd60e01b5f5260045ffd5b5068070c1cc73b00c800008213156155bc565b63a2f9f7e360e01b5f5260045ffd5b5068070c1cc73b00c800008213156155ac565b81670de0b6b3a7640000925f91848112615c00575b506064905f7e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000821215615bd5575b73011798004d755d3c8bc8e03204cf44619e000000821215615bb4575b820290808302906e01855144814a7ff805980ff00840009081831215615b91575b50506b02df0ab5a80a22c61ab5a70080821215615b71575b50693f1fce3da636ea5cf85080821215615b51575b50690127fa27722cc06cc5e280821215615b31575b5068280e60114edb805d0380821215615b11575b50680ebc5fb4174612111080821215615afa575b506808f00f760a4b2db55d80821215615ada575b506806f5f177578893793780821215615aba575b506806248f33704b28660380821215615a9b575b506805c548670b9510e7ac80821215615a7c575b50615a2968056bc75e2d6310000091828082019168056bc75e2d630fffff190102614aa2565b9080828002059181838202058284820205916003600560076009600b888a89020598808b8b02059a8b0205059805960594059205010101010160011b0105905f14615a77575f035b02615596565b615a71565b68056bc75e2d631000006756bc75e2d63100009202059101905f615a03565b68056bc75e2d6310000067ad78ebc5ac6200009202059101905f6159ef565b68056bc75e2d6310000068015af1d78b58c400009202059101905f6159db565b68056bc75e2d631000006802b5e3af16b18800009202059101905f6159c7565b68056bc75e2d63100000809202059101905f6159b3565b68056bc75e2d63100000680ad78ebc5ac62000009202059101905f61599f565b68056bc75e2d631000006815af1d78b58c4000009202059101905f61598b565b68056bc75e2d63100000682b5e3af16b188000009202059101905f615976565b68056bc75e2d631000006856bc75e2d6310000009202059101905f615961565b68ad78ebc5ac62000000925069021e19e0c9bab240000002059101905f80615949565b906b1425982cf597cd205cef73806803782dace9d900000091059101615928565b50770195e54c5dd42177f53a27172fa9ec63026282700000000090056806f05b59d3b200000061590b565b9050615c0c9150614a88565b60019060646158de565b50670f43fc2c04ee000082126154e4565b63d831731160e01b5f5260045ffd5b6211380f60e51b5f5260045ffd5b50505f90565b5050670de0b6b3a76400009056fea2646970667358221220a434c31ad96ce004b0844c71ba024d41c298b07616ae0404753094952b3ddc1a64736f6c634300081a0033000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba90000000000000000000000000000000000000000000000000000000000093a8000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000cf70bf72e52c60d4b378f302c3798fdd7247709a0000000000000000000000000000000000000000000000000000000000000003302e3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003302e320000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xab9c8b", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xaf5509e043356d8eac34b70f6d1e9c02a59c0e15880ae3c6a2546bc3534d80cf", - "transactionIndex": "0xa", - "blockHash": "0x18f25a1d40d98c9f4fb99c3b573c6102e2c130e2a72bd91d3cc5546f6d75d7df", - "blockNumber": "0x782373", - "gasUsed": "0x83afcb", - "effectiveGasPrice": "0x34c1fb14bd", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741609153, - "chain": 11155111, - "commit": "4b402e5" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json deleted file mode 100644 index 54ad8cc0..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741298261.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x995cc014ed6c16e7496bd395633cc297b3c95274a0b23d9a9c3644f993a02de7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x0000000000000000000000000000000000000000000000000000000000000000, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "gas": "0xa9cb78", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x36", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741298261, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json deleted file mode 100644 index c019bf37..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299120.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xf0fe238a5ef6a2a80cbf6b564a742f3c015a485e80d8bc1e1ee24d874e2d2cb7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x0000000000000000000000000000000000000000000000000000000000000000, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "gas": "0xa9cb78", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x37", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741299120, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json deleted file mode 100644 index 64b1eb0e..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299270.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x0786e685a17f5e9ab5e057d360387f0c5e92a85699dc0ded4f9634ac34abbb3a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x465f6151dc6b448be302024a948d335247ab00faf28feea9324f25ad670bb8d3, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "gas": "0xa05e9d", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000465f6151dc6b448be302024a948d335247ab00faf28feea9324f25ad670bb8d3000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x38", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741299270, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json deleted file mode 100644 index c77c26a8..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741299474.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc032c36902fce68d3ead4da4ded083d5e64a74eded9afed0aa87370d634d4002", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x67591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x09191Ca061108c03D41b9a154e20C6f188291404", - "gas": "0xa9cdaa", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000067591141b1f0e69e3806a33944fa37e2bc4a5d16bb7fa37a01bf81cc5318fc46000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x39", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741299474, - "chain": 11155111, - "commit": "98ddc72" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json deleted file mode 100644 index c86cce14..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609286.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0x19c8d8e50f8576217b8dda4e3e5aa7e2193ba1114a4ab2fa7671568a48b46053, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "gas": "0x8200fd", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000019c8d8e50f8576217b8dda4e3e5aa7e2193ba1114a4ab2fa7671568a48b46053000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001274657374207175616e74616d6d20706f6f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1f1b0ce", - "logs": [ - { - "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "topics": [ - "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", - "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" - ], - "data": "0x", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x25c", - "removed": false - }, - { - "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067ced9440000000000000000000000000000000000000000000000000000000067ced944000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x25d", - "removed": false - }, - { - "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", - "topics": [ - "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" - ], - "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x25e", - "removed": false - }, - { - "address": "0xe3ee2e4EF95b78903EE57ffd9302585c12b7EAD4", - "topics": [ - "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x25f", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", - "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4" - ], - "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x260", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", - "0x000000000000000000000000e3ee2e4ef95b78903ee57ffd9302585c12b7ead4", - "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "blockTimestamp": "0x67ced944", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "logIndex": "0x261", - "removed": false - } - ], - "logsBloom": "0x400000000000000000000000000000000000000000000000800000000020000000000000080008000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000000000000200000000000000010000000008000000000000000000000000c0000000000000000000000000100000000000000100000000000000000002080000000100000000000040800040000008000010000000000000000000020084100800000000000000000000000000000000002000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x52a9c799008cc77376ed22fe490da3faa370d4e6ce00396f7a61e197fed1b37f", - "transactionIndex": "0x235", - "blockHash": "0x08f87c6cb337c9b417f7073fa882037216bacef53126bdd15cb029dce59008a0", - "blockNumber": "0x78237e", - "gasUsed": "0x5e1ed6", - "effectiveGasPrice": "0x3d553b5b38", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741609286, - "chain": 11155111, - "commit": "4b402e5" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json deleted file mode 100644 index 18c46a48..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-1741609984.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool 2, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0xc2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "gas": "0x894524", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001474657374207175616e74616d6d20706f6f6c203200000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x12464aa", - "logs": [ - { - "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "topics": [ - "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x108", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067cedbfc0000000000000000000000000000000000000000000000000000000067cedbfc000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x109", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" - ], - "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10a", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10b", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10c", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77", - "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10d", - "removed": false - } - ], - "logsBloom": "0x408000000000000000000000000000000000000000000000800000000020080000000000080000008000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000008000000200000000000000000000000008000000000000000000000000c0000000000000000000000000000000000000000100000000000000000002080000000000000000000040800040000008000010000000000000000000020004100800000000000000000000000001000100002000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "gasUsed": "0x5ddc22", - "effectiveGasPrice": "0x396c5d4d35", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741609984, - "chain": 11155111, - "commit": "4b402e5" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json deleted file mode 100644 index 18c46a48..00000000 --- a/pkg/pool-quantamm/broadcast/deploy_pool.sol/11155111/run-latest.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "function": "createWithoutArgs((string,string,(address,uint8,address,bool)[],uint256[],(address,address,address),uint256,address,bool,bool,bytes32,int256[],(address[],address,address[][],uint16,uint64[],uint64,uint64,uint64,int256[][],address),int256[],int256[],uint256,uint256,string[][]))", - "arguments": [ - "(test quantamm pool 2, test, [(0x29f2D40B0605204364af54EC677bD022dA425d03, 0, 0x0000000000000000000000000000000000000000, false), (0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0, 0x0000000000000000000000000000000000000000, false)], [500000000000000000, 500000000000000000], (0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000), 20000000000000000, 0x0000000000000000000000000000000000000000, true, false, 0xc2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974, [500000000000000000, 500000000000000000], ([0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8, 0x29f2D40B0605204364af54EC677bD022dA425d03], 0xd728f8c62949BbfB4E3D1701C263887F313e9B4e, [[0x809CEbbb376A97D175570b5c71ED2a219ACd6f21], [0xdA841aEEE267b4607f8F0F3622e99060D64644EF]], 60, [200000000000000000], 200000000000000000, 200000000000000000, 300000000000000000, [[200000000000000000]], 0x12395366299C28492682f7853424554df0b81B38), [1000000000000000000, 1000000000000000000], [1000000000000000000, 1000000000000000000], 3600, 16, [[Overview, Adaptability, number, 5]])" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "gas": "0x894524", - "value": "0x0", - "input": "0x2fcb03050000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000c2dd720d2305315069c0fbcf76946d313bd0778da6f4b0b568559026a4d13974000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008c0000000000000000000000000000000000000000000000000000000000000001474657374207175616e74616d6d20706f6f6c203200000000000000000000000000000000000000000000000000000000000000000000000000000000000000047465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000012395366299c28492682f7853424554df0b81b38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000084f76657276696577000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c41646170746162696c697479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066e756d626572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013500000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x3d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x12464aa", - "logs": [ - { - "address": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "topics": [ - "0x83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x108", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067cedbfc0000000000000000000000000000000000000000000000000000000067cedbfc000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x109", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0x0fac2c21f556c18c8ccc516e0c773f53ac94c19685206bc8dabe8a189cb1f43a" - ], - "data": "0x000000000000000000000000d728f8c62949bbfb4e3d1701c263887f313e9b4e00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000809cebbb376a97d175570b5c71ed2a219acd6f210000000000000000000000000000000000000000000000000000000000000001000000000000000000000000da841aeee267b4607f8f0f3622e99060d64644ef000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10a", - "removed": false - }, - { - "address": "0x6471455C50c1Ea6e1aee1915606D9412C4496E77", - "topics": [ - "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10b", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0x89d41522342fabac1471ca6073a5623e5caf367b03ca6e9a001478d0cf8be4a1", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77" - ], - "data": "0x00000000000000000000000000000000000000000000000000470de4df820000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10c", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xbc1561eeab9f40962e2fb827a7ff9c7cdb47a9d7c84caeefa4ed90e043842dad", - "0x0000000000000000000000006471455c50c1ea6e1aee1915606d9412c4496e77", - "0x00000000000000000000000023920dfc349c55f535d1020dcabfef4e80b9680b" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000067d81340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "blockTimestamp": "0x67cedbfc", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "logIndex": "0x10d", - "removed": false - } - ], - "logsBloom": "0x408000000000000000000000000000000000000000000000800000000020080000000000080000008000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010001010000008000000200000000000000000000000008000000000000000000000000c0000000000000000000000000000000000000000100000000000000000002080000000000000000000040800040000008000010000000000000000000020004100800000000000000000000000001000100002000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xe59bcbf1ab1d01cc6fb0c4b181a8001925e20af0fc23f60efe8f830fef81fcae", - "transactionIndex": "0xef", - "blockHash": "0xd9777a2afe71f17492211da34e978d98bb34cb2accfc9820c541ee368a3bbcd3", - "blockNumber": "0x7823b8", - "gasUsed": "0x5ddc22", - "effectiveGasPrice": "0x396c5d4d35", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x23920dFC349c55F535D1020dcaBFEf4E80b9680b", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1741609984, - "chain": 11155111, - "commit": "4b402e5" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json deleted file mode 100644 index 726893fc..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1743762134.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "[1000000000000000000, 1000000000000000000]", - "[1000000000000000000, 1000000000000000000]", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x1121e", - "value": "0x0", - "input": "0xd4ead0b20000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "nonce": "0x16b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xed706c", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "blockHash": "0xd9b9c9835a5d84672b3cae86fcc392d6990443997301a0335d16c28d15872b32", - "blockNumber": "0x7aced6", - "blockTimestamp": "0x67efb2d4", - "transactionHash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", - "transactionIndex": "0x87", - "logIndex": "0xda", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000800000200000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080000000000000002804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xdc57eb6df50bbef491c57bb641783cf13f5cb40ce56cb5ef2d15ce5b31a62ed3", - "transactionIndex": "0x87", - "blockHash": "0xd9b9c9835a5d84672b3cae86fcc392d6990443997301a0335d16c28d15872b32", - "blockNumber": "0x7aced6", - "gasUsed": "0xc675", - "effectiveGasPrice": "0x8784f415", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743762134, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json deleted file mode 100644 index e0b69c66..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744026594.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "[1000000000000000000, 1000000000000000000]", - "[1000000000000000000, 1000000000000000000]", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x1121e", - "value": "0x0", - "input": "0xd4ead0b20000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "nonce": "0x18e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa41f06", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", - "blockNumber": "0x7b231b", - "blockTimestamp": "0x67f3bbdc", - "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", - "transactionIndex": "0x62", - "logIndex": "0xb4", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000400080000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040020000000000000000000000000000000000000000000000000000000000080800000000000000804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x887d337ff800c9b3410a7f3b84c384443d331871ccec52551305359f9e64b632", - "transactionIndex": "0x62", - "blockHash": "0x3ff9d0f018479c53e72cd0724d51eb47f43c9932ea4f3241238deedd8f991c84", - "blockNumber": "0x7b231b", - "gasUsed": "0xc675", - "effectiveGasPrice": "0x23344d82", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744026594, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json deleted file mode 100644 index 0e555dc6..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-1744360588.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "[1000000000000000000, 1000000000000000000]", - "[1000000000000000000, 1000000000000000000]", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0x1121e", - "value": "0x0", - "input": "0xd4ead0b2000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "nonce": "0x1b4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe17143", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", - "blockNumber": "0x7b89d2", - "blockTimestamp": "0x67f8d488", - "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionIndex": "0x67", - "logIndex": "0xc5", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionIndex": "0x67", - "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", - "blockNumber": "0x7b89d2", - "gasUsed": "0xc675", - "effectiveGasPrice": "0x1a8b5a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360588, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json deleted file mode 100644 index 0e555dc6..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_intermediate_values.sol/11155111/run-latest.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "setIntermediateValuesManually(address,int256[],int256[],uint256)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "[1000000000000000000, 1000000000000000000]", - "[1000000000000000000, 1000000000000000000]", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0x1121e", - "value": "0x0", - "input": "0xd4ead0b2000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "nonce": "0x1b4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe17143", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0xd800d1b75993a532fcdc42cfad69c08e80a232f051683f302292c0b13957406d", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", - "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", - "blockNumber": "0x7b89d2", - "blockTimestamp": "0x67f8d488", - "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionIndex": "0x67", - "logIndex": "0xc5", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000004000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200040000000000000000000000040800000000000000000000000000000000000080000000000000000004000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xaa59dd5763283705375e71e52395ff044dd05c221d13fcafeb59d440f7bb8000", - "transactionIndex": "0x67", - "blockHash": "0xcd4a6a3544b8cca2c6b6084a0c9036f9619c341778f8cd306ed1e2f4aa07931c", - "blockNumber": "0x7b89d2", - "gasUsed": "0xc675", - "effectiveGasPrice": "0x1a8b5a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360588, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json deleted file mode 100644 index cdd735c1..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1743761584.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x164", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x165", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743847956" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", - "nonce": "0x166", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743847956" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", - "nonce": "0x167", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d95000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x168", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xcfadda", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", - "transactionIndex": "0x88", - "logIndex": "0xc1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x2c4a2ae3c568574ae795c47d9abe8c81d4cc423f01d8b286a3c0706965e39dab", - "transactionIndex": "0x88", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x57914cc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd020b5", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", - "transactionIndex": "0x89", - "logIndex": "0xc2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8fb0411f43d04141f72e811c324dbfd9c4f5d044aabcfe486c181a79e8babeab", - "transactionIndex": "0x89", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x57914cc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd0989b", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", - "transactionIndex": "0x8a", - "logIndex": "0xc3", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xb107c585e0a5d0d9d676dc012f61e6dd1d040211326ab032b981068ca024916d", - "transactionIndex": "0x8a", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x57914cc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd11081", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f10214", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", - "transactionIndex": "0x8b", - "logIndex": "0xc4", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xafe001507fbe7c7993581cd689ff4a21c0b89ffc810f645eaf756dacefeb06ed", - "transactionIndex": "0x8b", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x57914cc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd58bad", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xc5", - "removed": false - }, - { - "address": "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xc6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xc7", - "removed": false - }, - { - "address": "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xc8", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xc9", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e" - ], - "data": "0x", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xca", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xcb", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xcc", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xcd", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "blockTimestamp": "0x67efb0ac", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "logIndex": "0xce", - "removed": false - } - ], - "logsBloom": "0x00000010000000010040000000000000000080000000400000004000002000000000000000000000000001000000000000000000800000000000000000260000802000000000000000004008004000000020000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000444000000000000000000000000000000000000000000000000002000001000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb9a69b47ebffad0a640cb361960216af7db5521587bc6e46790c9daf7d7b46f2", - "transactionIndex": "0x8c", - "blockHash": "0xf48770e6718d8b2a4f959cc9067319800c9e2a0c09bf32b6dd5f2e262eaa37cf", - "blockNumber": "0x7acea8", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x57914cc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743761584, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json deleted file mode 100644 index 0a02172a..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744026377.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x187", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x188", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744112748" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "nonce": "0x189", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744112748" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "nonce": "0x18a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d950000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x18b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb9392c", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", - "transactionIndex": "0x69", - "logIndex": "0xbc", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x802b134335d3a2f9abf6faff21e357d5505e18b3d1dc4e45d16bcf7c23894d8e", - "transactionIndex": "0x69", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x29369fc7", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb9ac07", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", - "transactionIndex": "0x6a", - "logIndex": "0xbd", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6c6e81d1577d464fc0e822310db498964f5dd8e61976d3e169b2a9580dc30a75", - "transactionIndex": "0x6a", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x29369fc7", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xba23ed", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", - "transactionIndex": "0x6b", - "logIndex": "0xbe", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xd6c2d18c290ee7a5e5ce772a509087cd56996226424f1b186946d5d30739eb45", - "transactionIndex": "0x6b", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x29369fc7", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xba9bd3", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f50c6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", - "transactionIndex": "0x6c", - "logIndex": "0xbf", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x1cb277c2d9bc91b444c2ca747ccfe1205502acc0a34abaded7bd6d4db361030c", - "transactionIndex": "0x6c", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x29369fc7", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbf16ff", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc0", - "removed": false - }, - { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc2", - "removed": false - }, - { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc3", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc4", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc5", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc6", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc7", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc8", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "blockTimestamp": "0x67f3bb04", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "logIndex": "0xc9", - "removed": false - } - ], - "logsBloom": "0x00000000000080010040000000000000000280000000400000004000002000000000000000000000000000000000000000080000800000000000000000240000802000000000000000004008004000000000000000040800000008020000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000010000000000020000c00180000000044000000000800000000000000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa00500a5920dc7cb2a45efafca525cc0c396f3fd7b94126304dfa38b15095b28", - "transactionIndex": "0x6d", - "blockHash": "0x5fa2d145403a3b25e2f2bd2a8ccab5b21606f2abfb79ee99deb8705911453024", - "blockNumber": "0x7b2309", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x29369fc7", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744026377, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json deleted file mode 100644 index 883adcfb..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-1744360360.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x1ad", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x1ae", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744446744" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "nonce": "0x1af", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744446744" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "nonce": "0x1b0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d95000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x1b1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x111b47e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionIndex": "0x54", - "logIndex": "0x7a", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionIndex": "0x54", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12136c3", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionIndex": "0x5f", - "logIndex": "0x81", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionIndex": "0x5f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x121aea9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionIndex": "0x60", - "logIndex": "0x82", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionIndex": "0x60", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x122268f", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionIndex": "0x61", - "logIndex": "0x83", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionIndex": "0x61", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x126a1bb", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x86", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x87", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000004000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000050000000000020000c00180000020044000000000000000000000000000000200000000000000000002000000000000000100000000000000200000000000000000800060000010000000000000002000010100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360360, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json deleted file mode 100644 index 883adcfb..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_pool.sol/11155111/run-latest.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x1ad", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x1ae", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744446744" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "nonce": "0x1af", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1744446744" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "nonce": "0x1b0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d95000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x1b1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x111b47e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionIndex": "0x54", - "logIndex": "0x7a", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7f3dde37d2fed72e20792e70dfd1ce4f17ed683b42d657b8de392570c1c63307", - "transactionIndex": "0x54", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12136c3", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionIndex": "0x5f", - "logIndex": "0x81", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x13258904a0bdd08bcb2e81f6b0a4bf40322f01d5f4e8892673965c121eebc12b", - "transactionIndex": "0x5f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x121aea9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionIndex": "0x60", - "logIndex": "0x82", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x557448658b8a01ed335116f66c26aef4b63af5b0929331dca9c4e1f8cce14893", - "transactionIndex": "0x60", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x122268f", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067fa2518", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionIndex": "0x61", - "logIndex": "0x83", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x069d6227d0101503c52addfd14916ec32f8bf0cc419fe93ba2c75e260108bdc6", - "transactionIndex": "0x61", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x126a1bb", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x86", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x87", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "blockTimestamp": "0x67f8d3a4", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000004000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000000000000000000050000000000020000c00180000020044000000000000000000000000000000200000000000000000002000000000000000100000000000000200000000000000000800060000010000000000000002000010100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xcbb6c278d764202428bf70773e3876ee20ebf0bcb5261faf1fe436c4f78be434", - "transactionIndex": "0x62", - "blockHash": "0x9f31cfb856d7f3a9a9806c0797d4d9fd2c223f8a20c7a7de01c70b5f42380ba6", - "blockNumber": "0x7b89c0", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x1ef102", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360360, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json deleted file mode 100644 index c57b63a8..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743759914.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xa7e2", - "value": "0x0", - "input": "0xce768b320000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x162", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x86a6c2", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x4b232ed6a3cb54a88c45fea9e92e37c752e91566786fb0b5e93b0e0b1aeab588", - "blockNumber": "0x7ace1d", - "blockTimestamp": "0x67efaa28", - "transactionHash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", - "transactionIndex": "0x65", - "logIndex": "0x8f", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc124283358e954bee68568f6c4e68397381473ef1e3296f58c13ff17be572ae7", - "transactionIndex": "0x65", - "blockHash": "0x4b232ed6a3cb54a88c45fea9e92e37c752e91566786fb0b5e93b0e0b1aeab588", - "blockNumber": "0x7ace1d", - "gasUsed": "0x798c", - "effectiveGasPrice": "0x4a9a8927", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743759914, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json deleted file mode 100644 index 0ba7aabf..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743761768.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xa7e2", - "value": "0x0", - "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x16a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xd9a467", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xdbe13ae153c54219a1cdd58a50ec631a5283ce42d5df9413f4375b629f40c5cf", - "blockNumber": "0x7aceb7", - "blockTimestamp": "0x67efb160", - "transactionHash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", - "transactionIndex": "0x77", - "logIndex": "0xd7", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x36c5604dcd576281f343990c4f84cceeb124aeaeddf405e68f2cce3da7036341", - "transactionIndex": "0x77", - "blockHash": "0xdbe13ae153c54219a1cdd58a50ec631a5283ce42d5df9413f4375b629f40c5cf", - "blockNumber": "0x7aceb7", - "gasUsed": "0x798c", - "effectiveGasPrice": "0x71cda479", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743761768, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json deleted file mode 100644 index 092290bb..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743769419.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x98c6", - "value": "0x0", - "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x170", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x12ed5af", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x3650b1bda5d5025d048d25e1377b407dd2b1aa20fffe3957366dcc0c49b7bde3", - "blockNumber": "0x7ad134", - "blockTimestamp": "0x67efcf48", - "transactionHash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", - "transactionIndex": "0x83", - "logIndex": "0xde", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xac510256f1b873d69631204b56efa524ad860003b3ecc205c0cce4ff5fdf2a2f", - "transactionIndex": "0x83", - "blockHash": "0x3650b1bda5d5025d048d25e1377b407dd2b1aa20fffe3957366dcc0c49b7bde3", - "blockNumber": "0x7ad134", - "gasUsed": "0x6e9c", - "effectiveGasPrice": "0x719f983c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743769419, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json deleted file mode 100644 index ff57c864..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1743770141.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0xCd2Ca3bBe68Fb83E9B1f1217deCF3Fb01dbFb01E", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x98c6", - "value": "0x0", - "input": "0xce768b32000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x172", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb137ff", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x000000000000000000000000cd2ca3bbe68fb83e9b1f1217decf3fb01dbfb01e000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xb3c0043e57dfa2eba215714627d68e777bb7d9c52d4976cbaa7f45a9a2d80769", - "blockNumber": "0x7ad170", - "blockTimestamp": "0x67efd218", - "transactionHash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", - "transactionIndex": "0x78", - "logIndex": "0x8f", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3dcfe76ef67744cfe5f75c427e4a687f175001cfa4417a7e917692deb72a71f3", - "transactionIndex": "0x78", - "blockHash": "0xb3c0043e57dfa2eba215714627d68e777bb7d9c52d4976cbaa7f45a9a2d80769", - "blockNumber": "0x7ad170", - "gasUsed": "0x6e9c", - "effectiveGasPrice": "0x8d40ba83", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743770141, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json deleted file mode 100644 index b6c56480..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744026530.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0xa7e2", - "value": "0x0", - "input": "0xce768b320000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x18d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb34f2d", - "logs": [ - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", - "blockNumber": "0x7b2316", - "blockTimestamp": "0x67f3bba0", - "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", - "transactionIndex": "0x6d", - "logIndex": "0xa6", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x77b9e5994faf98cc854ed0cc3a4439d58fc818ba4851f2836c323bb4417371ba", - "transactionIndex": "0x6d", - "blockHash": "0x58c081fc2c88ab6dbeddde8378561d42e6c987aea12efb64136a47b66b6be2fb", - "blockNumber": "0x7b2316", - "gasUsed": "0x798c", - "effectiveGasPrice": "0x264d196e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744026530, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json deleted file mode 100644 index 11145ca7..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-1744360660.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0xa7e2", - "value": "0x0", - "input": "0xce768b32000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x1b5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb310e2", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", - "blockNumber": "0x7b89d7", - "blockTimestamp": "0x67f8d4d0", - "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionIndex": "0x36", - "logIndex": "0x71", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionIndex": "0x36", - "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", - "blockNumber": "0x7b89d7", - "gasUsed": "0x798c", - "effectiveGasPrice": "0x1e8262", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360660, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json deleted file mode 100644 index 11145ca7..00000000 --- a/pkg/pool-quantamm/broadcast/initialise_rule_runner.sol/11155111/run-latest.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "InitialisePoolLastRunTime(address,uint40)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "10" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0xa7e2", - "value": "0x0", - "input": "0xce768b32000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", - "nonce": "0x1b5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb310e2", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x79a782d8b17346e0b863d44323bb26710950eb32858ac04fe6c20fdc8d83d2dc" - ], - "data": "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", - "blockNumber": "0x7b89d7", - "blockTimestamp": "0x67f8d4d0", - "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionIndex": "0x36", - "logIndex": "0x71", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe86a5472fef068f9b8c18e7fdd10db13a4568646446fb60e351fa14542bfa56c", - "transactionIndex": "0x36", - "blockHash": "0xa638c6aad741c17763bf095c0b4cd8fee898ce1ee19cf317b489c2d71408ff76", - "blockNumber": "0x7b89d7", - "gasUsed": "0x798c", - "effectiveGasPrice": "0x1e8262", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360660, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json deleted file mode 100644 index 28107c1e..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743762446.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x423de", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x16c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1191447", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efb40c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", - "blockNumber": "0x7acef0", - "blockTimestamp": "0x67efb40c", - "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", - "transactionIndex": "0x77", - "logIndex": "0x18d", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efb40c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", - "blockNumber": "0x7acef0", - "blockTimestamp": "0x67efb40c", - "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", - "transactionIndex": "0x77", - "logIndex": "0x18e", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", - "blockNumber": "0x7acef0", - "blockTimestamp": "0x67efb40c", - "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", - "transactionIndex": "0x77", - "logIndex": "0x18f", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xb9ff7c439e29b10b61037c956085fd8d6e7a511d8fdb23371f0db86e3181af92", - "transactionIndex": "0x77", - "blockHash": "0x17f13ce8525210b0fd80851c13f6700a2c69e93ec3dbb4ade978491def767b43", - "blockNumber": "0x7acef0", - "gasUsed": "0x2d4b3", - "effectiveGasPrice": "0x92bc8660", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743762446, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json deleted file mode 100644 index 5c6ed4d6..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1743770396.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x174", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1414530", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd314000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", - "blockNumber": "0x7ad185", - "blockTimestamp": "0x67efd314", - "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", - "transactionIndex": "0x89", - "logIndex": "0x9a", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd314000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", - "blockNumber": "0x7ad185", - "blockTimestamp": "0x67efd314", - "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", - "transactionIndex": "0x89", - "logIndex": "0x9b", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", - "blockNumber": "0x7ad185", - "blockTimestamp": "0x67efd314", - "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", - "transactionIndex": "0x89", - "logIndex": "0x9c", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x2b08f073f30613e3582a9b902690a686998e54c8ceeb64d71562d830f10ed3f1", - "transactionIndex": "0x89", - "blockHash": "0x0dcfe8214a50c3bff096733b8e0a8149933e546fb9a9192709973ef70d28c038", - "blockNumber": "0x7ad185", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x616f07cc", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743770396, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json deleted file mode 100644 index 78f7e7af..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744026823.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x4b0d0", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "nonce": "0x18f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc07e9e", - "logs": [ - { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f3c83c0000000000000000000000000000000000000000000000000000000067f3bcc0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000097951b766aaaffffffffffffffffffffffffffffffffffffffffffffffffffff686ae4899556", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "blockTimestamp": "0x67f3bcc0", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "logIndex": "0xb3", - "removed": false - } - ], - "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xe2e10997d04c3414e458fe998ede80f93be2334e5c1f4d93284ca41a99f1ba65", - "transactionIndex": "0x6a", - "blockHash": "0x4dce1fb9868562c83d24b95959987eb0a90dcfb25a02625445dac26c50febe3e", - "blockNumber": "0x7b232e", - "gasUsed": "0x33512", - "effectiveGasPrice": "0x231c2c90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744026823, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json deleted file mode 100644 index ef75df62..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744223128.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x45f2d", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3", - "nonce": "0x190", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x5c0f19", - "logs": [ - { - "address": "0x7E7AAbC766aD4079257c88d41B9E95B0dd48c2C3", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x6f", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000067f6bbd00000000000000000000000000000000000000000000000000000000067f6bb9400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000dbd2df8de887000000000000000000000000000000000000000000000000000002388bac8db9000000000000000000000000000000000000000000000000000000000079b15c6aafffffffffffffffffffffffffffffffffffffffffffffffffffffff864ea3956", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x70", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000007e7aabc766ad4079257c88d41b9e95b0dd48c2c3" - ], - "data": "0x", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "blockTimestamp": "0x67f6bb94", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "logIndex": "0x71", - "removed": false - } - ], - "logsBloom": "0x00000400000080010000000000000000000200000000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000040000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000020000100000000040000000000000000000000000000000040020000000000001000000000000000000000000000000000000000000000000800000000000080800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x16c575893ebe07cfb14d75cb9bbd28b450a00fd8f2addd9a36dec6e8d629d44c", - "transactionIndex": "0x4e", - "blockHash": "0x9f1870c4e37d53abc46c4ffddd7628fa156cad761922c0d624ab8c3ad7e6df04", - "blockNumber": "0x7b60b3", - "gasUsed": "0x32a44", - "effectiveGasPrice": "0x3bcd2f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744223128, - "chain": 11155111, - "commit": "b7dba5d" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json deleted file mode 100644 index 2a1e20a3..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-1744360743.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "performUpdate(address)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0x49fd6", - "value": "0x0", - "input": "0xe3a11da1000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "nonce": "0x1b6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb05a7d", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x452f52f0db8d7f3d0a990eb92702205b19289ad1fc09d7542deffe548a40145c" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de092526d99800000000000000000000000000000000000000000000000114d8b5f620c9e62b00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x79", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x1c48aef39d279f5cc5d4af80b5b8c5624649207ff7ef411514470938d4cb44fc" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000713e24c4373000000000000000000000000000000000000000000000000000006ccd46763f10000", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7a", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7b", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7c", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7d", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000008000000000000000000000000000000000000000000008000000000000000000000000000004000000000400000000000000000000000000000000004040000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000100000000040000000000000000000000000000200040000000000000201000000040800000000000000000000000020000000000000000000000000080000000200000000000000000000800000000000000100000000000000020000000100000000000000000000000000000000000000010000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "gasUsed": "0x35914", - "effectiveGasPrice": "0x21b48b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360743, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json deleted file mode 100644 index 2a1e20a3..00000000 --- a/pkg/pool-quantamm/broadcast/perform_update.sol/11155111/run-latest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "function": "performUpdate(address)", - "arguments": [ - "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "gas": "0x49fd6", - "value": "0x0", - "input": "0xe3a11da1000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087", - "nonce": "0x1b6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb05a7d", - "logs": [ - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x452f52f0db8d7f3d0a990eb92702205b19289ad1fc09d7542deffe548a40145c" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000140000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c108700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de092526d99800000000000000000000000000000000000000000000000114d8b5f620c9e62b00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002c68af0bb140000", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x79", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x1c48aef39d279f5cc5d4af80b5b8c5624649207ff7ef411514470938d4cb44fc" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000713e24c4373000000000000000000000000000000000000000000000000000006ccd46763f10000", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7a", - "removed": false - }, - { - "address": "0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7b", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b3800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000068baa1a40000000000000000000000000000000000000000000000000000000067f8d524000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000008fb8fd981fffffffffffffffffffffffffffffffffffffffffffffffffffffff70470267f", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7c", - "removed": false - }, - { - "address": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000cb78df4ead6d9558c19960cdec71aca3e37c1087" - ], - "data": "0x", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "blockTimestamp": "0x67f8d524", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "logIndex": "0x7d", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000008000000000000000000000000000000000000000000008000000000000000000000000000004000000000400000000000000000000000000000000004040000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000100000000040000000000000000000000000000200040000000000000201000000040800000000000000000000000020000000000000000000000000080000000200000000000000000000800000000000000100000000000000020000000100000000000000000000000000000000000000010000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xc37e05b49b412f4c1539c8dc317a310417379a9502629a2c7b6587b1b5dd4aae", - "transactionIndex": "0x5d", - "blockHash": "0xd3b8f952e5543cb4966d75e53ee8acb276492c457d3ffaae400ed37f21b0f7c0", - "blockNumber": "0x7b89dd", - "gasUsed": "0x35914", - "effectiveGasPrice": "0x21b48b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1744360743, - "chain": 11155111, - "commit": "c05839a" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json deleted file mode 100644 index 0eb432d8..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769013.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x16d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x20e3b9c", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcdb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", - "blockNumber": "0x7ad112", - "blockTimestamp": "0x67efcdb0", - "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", - "transactionIndex": "0xbf", - "logIndex": "0x14e", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcdb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", - "blockNumber": "0x7ad112", - "blockTimestamp": "0x67efcdb0", - "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", - "transactionIndex": "0xbf", - "logIndex": "0x14f", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", - "blockNumber": "0x7ad112", - "blockTimestamp": "0x67efcdb0", - "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", - "transactionIndex": "0xbf", - "logIndex": "0x150", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0xd550f80eb138bcf0ace89f0eb8d9a90b80ec4ab1fd7c54bc2139a2514367513a", - "transactionIndex": "0xbf", - "blockHash": "0xdb324e429fac83a393465822bdd001856700eb9ae95959a67b335210f6f75e1c", - "blockNumber": "0x7ad112", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x743cb183", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743769013, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json deleted file mode 100644 index f3df0bc1..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769290.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x16e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x10da6bc", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcec4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", - "blockNumber": "0x7ad129", - "blockTimestamp": "0x67efcec4", - "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", - "transactionIndex": "0x91", - "logIndex": "0x122", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efcec4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", - "blockNumber": "0x7ad129", - "blockTimestamp": "0x67efcec4", - "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", - "transactionIndex": "0x91", - "logIndex": "0x123", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", - "blockNumber": "0x7ad129", - "blockTimestamp": "0x67efcec4", - "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", - "transactionIndex": "0x91", - "logIndex": "0x124", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x8515636ef1ac5dbed19a06510c9e42e7be074559faf6bb42d55d4f72c7c66081", - "transactionIndex": "0x91", - "blockHash": "0x9561e7901238e3156b0dea413c8f1a8fe94857651c8f36ac929f8b6a7e25a8db", - "blockNumber": "0x7ad129", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x72e8eaf8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743769290, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json deleted file mode 100644 index 39073a95..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769369.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc3e7057c0f1fee4dcb75bed99947cd8e984cd7e813b8befd61846443a9baf27b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x16f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743769369, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json deleted file mode 100644 index 223d42e5..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743769932.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x171", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb78fb5", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd14c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", - "blockNumber": "0x7ad15f", - "blockTimestamp": "0x67efd14c", - "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", - "transactionIndex": "0x86", - "logIndex": "0x7f", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd14c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", - "blockNumber": "0x7ad15f", - "blockTimestamp": "0x67efd14c", - "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", - "transactionIndex": "0x86", - "logIndex": "0x80", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", - "blockNumber": "0x7ad15f", - "blockTimestamp": "0x67efd14c", - "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", - "transactionIndex": "0x86", - "logIndex": "0x81", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x805a1836998ee8e8ae9c8201a0ca6e6858758b9d8814d956141ec299e1593150", - "transactionIndex": "0x86", - "blockHash": "0xabbc79cf1a7102b0275424054afac3b0a9a6c12d52cee7cbcfa59811e5678e9a", - "blockNumber": "0x7ad15f", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x8ba07b2e", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743769932, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json deleted file mode 100644 index 27a914b4..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770178.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x173", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa44c7b", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd23c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", - "blockNumber": "0x7ad173", - "blockTimestamp": "0x67efd23c", - "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", - "transactionIndex": "0x6e", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd23c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", - "blockNumber": "0x7ad173", - "blockTimestamp": "0x67efd23c", - "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", - "transactionIndex": "0x6e", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", - "blockNumber": "0x7ad173", - "blockTimestamp": "0x67efd23c", - "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", - "transactionIndex": "0x6e", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x6ed67a80d04221a211f4992041954f545577fe5d6a3c93a505fe31e022f6b1cb", - "transactionIndex": "0x6e", - "blockHash": "0x86a91ac4d46a76731beb5b88f97b07a6f4aa872e58595652d48a6cd0e9ec27b7", - "blockNumber": "0x7ad173", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x808719b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743770178, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json deleted file mode 100644 index cf70dd71..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743770573.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x175", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc707e6", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd3c8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", - "blockNumber": "0x7ad194", - "blockTimestamp": "0x67efd3c8", - "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", - "transactionIndex": "0x9d", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efd3c8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", - "blockNumber": "0x7ad194", - "blockTimestamp": "0x67efd3c8", - "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", - "transactionIndex": "0x9d", - "logIndex": "0xb3", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", - "blockNumber": "0x7ad194", - "blockTimestamp": "0x67efd3c8", - "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", - "transactionIndex": "0x9d", - "logIndex": "0xb4", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x57d2d720e01152bec9a18cfa584b62e550d05852a6f7395a395d781894626df5", - "transactionIndex": "0x9d", - "blockHash": "0xd9d138b3f8b2e13ac160a81e70554f1b3e38dd377d4c38a573c2da48474dcfc1", - "blockNumber": "0x7ad194", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x5d434c32", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743770573, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json deleted file mode 100644 index 91ac9e7e..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743772470.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x176", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe203d3", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdb30000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", - "blockNumber": "0x7ad232", - "blockTimestamp": "0x67efdb30", - "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", - "transactionIndex": "0x82", - "logIndex": "0xe9", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdb30000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", - "blockNumber": "0x7ad232", - "blockTimestamp": "0x67efdb30", - "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", - "transactionIndex": "0x82", - "logIndex": "0xea", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", - "blockNumber": "0x7ad232", - "blockTimestamp": "0x67efdb30", - "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", - "transactionIndex": "0x82", - "logIndex": "0xeb", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x02b011a7e2b48ba1b65977c0b384a38be216dde9eea0a4ccb3b69a9bf72060dd", - "transactionIndex": "0x82", - "blockHash": "0x68ddc83db959bd714d9df96828e14c381b44fc765f37710bab26e36ae6d63390", - "blockNumber": "0x7ad232", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0xa3f4b74c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743772470, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json deleted file mode 100644 index 1e67d1f3..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-1743773094.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x177", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xcc3258", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xaf", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x7dcefadf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743773094, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json deleted file mode 100644 index 1e67d1f3..00000000 --- a/pkg/pool-quantamm/broadcast/pool_check.sol/11155111/run-latest.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "function": "performUpdate(address)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "gas": "0x3e8e3", - "value": "0x0", - "input": "0xe3a11da10000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "nonce": "0x177", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xcc3258", - "logs": [ - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0x3f678b7d550c0f8dfb5dce7c8568f6e139b01f5582a5613d669ebe77729a49fc", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x30f7151deb2a6edd0073424d948b6da843616acab7248b8cdace73ea9ec81ac6", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x00000000000000000000000012395366299c28492682f7853424554df0b81b380000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000ffffffffff0000000000000000000000000000000000000000000000000000000067efdda0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "topics": [ - "0x5182541565a0a53b3f95727ceaa2a0feffd43b7a7f7a095032e4c9f8fbb00928", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "blockTimestamp": "0x67efdda0", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "logIndex": "0xaf", - "removed": false - } - ], - "logsBloom": "0x00000400000000010000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000800000000000000000000000000000000000000020000100000000040000000000800400000000000000000040020000000000001000000000000000000000000000000000000000000000040000000000000082800000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000080000000000000000000", - "type": "0x2", - "transactionHash": "0x01a0b81e7da0c6bdbf8071658e8df74525122af93f7697339687aa1aa50f22d2", - "transactionIndex": "0x70", - "blockHash": "0x252060a330210aa705c66aa65b2457815a3dcd8b22d72709284f6102dd6b3d2c", - "blockNumber": "0x7ad266", - "gasUsed": "0x2d4a0", - "effectiveGasPrice": "0x7dcefadf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0xc840e742C9CC87F08C14537C6b6515cD952AC789", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743773094, - "chain": 11155111, - "commit": "10e16f9" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json deleted file mode 100644 index 8debd44f..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314693.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401068" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", - "nonce": "0x59", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401068" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", - "nonce": "0x5a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x9632", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c399302800000000000000000000000000000000000000000000000000000000000000002", - "nonce": "0x5b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "2" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x9632", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c399302800000000000000000000000000000000000000000000000000000000000000002", - "nonce": "0x5c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50215", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x5d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x204cfac", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", - "transactionIndex": "0x10f", - "logIndex": "0x193", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x7689434e8ce82fdb1e16f508717b68410bd30526d7fd549620a82325aba261a2", - "transactionIndex": "0x10f", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x201cf2de", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x2054792", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daee2c", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", - "transactionIndex": "0x110", - "logIndex": "0x194", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xced9c129156cc59902a488d17877b6800c9b799ceb3e325998acb148387bec10", - "transactionIndex": "0x110", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x201cf2de", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x205ae45", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", - "transactionIndex": "0x111", - "logIndex": "0x195", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x9454d178a97722c2db41666226b0aa16645502936b2cdc3bb41cb3b6eeab199a", - "transactionIndex": "0x111", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "gasUsed": "0x66b3", - "effectiveGasPrice": "0x201cf2de", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x20614f8", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", - "transactionIndex": "0x112", - "logIndex": "0x196", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x9e835ef2270d694d61f778176a24ed1f13a0e9aea7acf3322c91d116de1a0bcb", - "transactionIndex": "0x112", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "gasUsed": "0x66b3", - "effectiveGasPrice": "0x201cf2de", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x209b52d", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f7", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x197", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f7", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x198", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcff6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x199", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x19a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x19b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x19c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "blockTimestamp": "0x67d99cc4", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "logIndex": "0x19d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa08e57d0b6d49ae7d058e9d080577d967c71e19f135ef3a5f6fcecf18f64ec74", - "transactionIndex": "0x113", - "blockHash": "0xf3e0a765fad28df54d54bd130f4a8701cbc0c8a2712fd135d2ed0f4ba9a8e6a4", - "blockNumber": "0x78fda7", - "gasUsed": "0x3a035", - "effectiveGasPrice": "0x201cf2de", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314693, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json deleted file mode 100644 index 3ffb6d09..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314890.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401272" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", - "nonce": "0x5e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401272" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", - "nonce": "0x5f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x9ef7", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x60", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x9ef7", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x61", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5015b", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x62", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x13950fc", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", - "transactionIndex": "0x91", - "logIndex": "0xed", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xcf391b4e72c46cd93831042f183d333f4742fe8e0c5bee5910073845fec02a0f", - "transactionIndex": "0x91", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x23c702b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x139c8e2", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeef8", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", - "transactionIndex": "0x92", - "logIndex": "0xee", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x0c3d7b9b6e45523a522e932ac3868192bb0f6a7c9f2fdabe873a1366bbb51c05", - "transactionIndex": "0x92", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x23c702b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13a3bf9", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", - "transactionIndex": "0x93", - "logIndex": "0xef", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3d4b04757d414aa38281f45874765bef5d6b31dca89a635ca5e6852b01b6e647", - "transactionIndex": "0x93", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "gasUsed": "0x7317", - "effectiveGasPrice": "0x23c702b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13aaf10", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", - "transactionIndex": "0x94", - "logIndex": "0xf0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x4763219e9ae9eb50004ab4879e73c5b0e8e704b86beefd87ab681bbf2573e2ff", - "transactionIndex": "0x94", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "gasUsed": "0x7317", - "effectiveGasPrice": "0x23c702b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13e4ebf", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f3", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf1", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f3", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf2", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000045d964b7e9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "blockTimestamp": "0x67d99d84", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "logIndex": "0xf7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6354a67358f76c506aa5f1ac1d77840a119bfcfafb90ddd3750e07e394200f87", - "transactionIndex": "0x95", - "blockHash": "0x870936820d77b2493eb5f136475bc0edaf7cbd45aadafce94ee6f8cbef131186", - "blockNumber": "0x78fdb7", - "gasUsed": "0x39faf", - "effectiveGasPrice": "0x23c702b8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314890, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json deleted file mode 100644 index 6fd72078..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314913.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", - "nonce": "0x63", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", - "nonce": "0x64", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x65", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x66", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54a82", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x67", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xcc064f", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", - "transactionIndex": "0x76", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xf0e971ad55c44a291409b7d109c00fbcf7120909328f69117bcf578a9394e417", - "transactionIndex": "0x76", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x244d7fd6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcc7e35", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef04", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", - "transactionIndex": "0x77", - "logIndex": "0xa1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x017e373e2a690be4a41fc015cc88661c4c47fd1d63e3ad73cfb704da5c5f160a", - "transactionIndex": "0x77", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x244d7fd6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcce65c", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", - "transactionIndex": "0x78", - "logIndex": "0xa2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x7812fbfee1a34e886d148a3c30e847a57d049cf6a56f8014e1e3349c981913be", - "transactionIndex": "0x78", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x244d7fd6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcd4e83", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", - "transactionIndex": "0x79", - "logIndex": "0xa3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x09aa52048e27b2b1e864e816600eb9fb56ac08839686f02c66163fec48313a0a", - "transactionIndex": "0x79", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x244d7fd6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd0ecac", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f1", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7f1", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fda000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa8", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "blockTimestamp": "0x67d99d9c", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "logIndex": "0xaa", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb43b32c6393c84a287161e3b60f6a2489d2f0acf404a8cabbd4ea7622bd58264", - "transactionIndex": "0x7a", - "blockHash": "0x83f2815f964fbb422058911d43079bc7a49a71f466323203939dc8ec19473277", - "blockNumber": "0x78fdb9", - "gasUsed": "0x39e29", - "effectiveGasPrice": "0x244d7fd6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314913, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json deleted file mode 100644 index 3d3ed501..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314937.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401308" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", - "nonce": "0x68", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401308" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", - "nonce": "0x69", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x6a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x6b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54a01", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x6c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc63895", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", - "transactionIndex": "0x7b", - "logIndex": "0xb1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xdde7736b4f8777c6f3dcb4c58e0b1da9a2174f1dc8a260f12767e6052b89da0d", - "transactionIndex": "0x7b", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x2618ccdf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc6b07b", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef1c", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", - "transactionIndex": "0x7c", - "logIndex": "0xb2", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xbd04b8ae11e91eeca725ace7cb2795997ed1bcebdf717583face3c318d29897d", - "transactionIndex": "0x7c", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x2618ccdf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc718a2", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", - "transactionIndex": "0x7d", - "logIndex": "0xb3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xbc1adc66c9cb5e9f9653061a552a1031bbeff22a281359b58e5a557c4a4ec4d2", - "transactionIndex": "0x7d", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x2618ccdf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc780c9", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", - "transactionIndex": "0x7e", - "logIndex": "0xb4", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x2911c1a4135b4fdc570f1913ba9d338d9101d61e35ccd2a97afe2819551ccd82", - "transactionIndex": "0x7e", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x2618ccdf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcb1e9a", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ef", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ef", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xb6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a5287c9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xb7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xb8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xb9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xba", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "blockTimestamp": "0x67d99db4", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "logIndex": "0xbb", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3b2bd1b8fce8e3174344dcbdd4d0a1f7da4d62dfc91aa9e3a1d2676f4729dc1c", - "transactionIndex": "0x7f", - "blockHash": "0x93a3c3aa85f7b9019a26c8fe3f5163c4518e68b4362df56e9f3b2a2bd020a45f", - "blockNumber": "0x78fdbb", - "gasUsed": "0x39dd1", - "effectiveGasPrice": "0x2618ccdf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314937, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json deleted file mode 100644 index 77e97a3c..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314963.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401332" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", - "nonce": "0x6d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401332" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", - "nonce": "0x6e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x6f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x70", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54948", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x71", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x111724a", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", - "transactionIndex": "0x8e", - "logIndex": "0xdc", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xa112159fbc5716d4e71cb7db5a6b9aa61d66980ad022d7822c7f8275507e9705", - "transactionIndex": "0x8e", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x26d04754", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x111ea30", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef34", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", - "transactionIndex": "0x8f", - "logIndex": "0xdd", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xed8a62cf0db4c0c6b9d3172511dc4965ea4c9c8c098c9135b728e1071229366a", - "transactionIndex": "0x8f", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x26d04754", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1125257", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", - "transactionIndex": "0x90", - "logIndex": "0xde", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x9205f9c6e4c3455dff08a6a1219824dc7c09bf0460ed7c87893580e3ab640c24", - "transactionIndex": "0x90", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x26d04754", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x112ba7e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", - "transactionIndex": "0x91", - "logIndex": "0xdf", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xfa7a981f2ab40b044298116039e7ce2b88de8ee9ed27bd2be5b3ee19ce8987a3", - "transactionIndex": "0x91", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x26d04754", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x11657d1", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ed", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe0", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ed", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000008bb2c96fb6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe2", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe4", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "blockTimestamp": "0x67d99dcc", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "logIndex": "0xe6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xff75166691dcd041d735e4e7d0f214cc3e7e804fbe3d070e6a2a526ebb913957", - "transactionIndex": "0x92", - "blockHash": "0xb74d8d68a6e7dafcdef5c86d4caf472c14368a129737edd069dd5bfdf35702ea", - "blockNumber": "0x78fdbd", - "gasUsed": "0x39d53", - "effectiveGasPrice": "0x26d04754", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314963, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json deleted file mode 100644 index 2aa3b104..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742314987.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401368" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", - "nonce": "0x72", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401368" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", - "nonce": "0x73", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x74", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x75", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50068", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x76", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe210bd", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", - "transactionIndex": "0xb4", - "logIndex": "0xc7", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xda5f54b490f0e660124fd3bab1edcd907fee555acf2c34b89448ad62e0d28c41", - "transactionIndex": "0xb4", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x240a698a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe288a3", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef58", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", - "transactionIndex": "0xb5", - "logIndex": "0xc8", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xb9345d95ae94d4aacfd7c0411a31241ae86a89bc9b332bf511befddeaa63cd9d", - "transactionIndex": "0xb5", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x240a698a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe2f0ca", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", - "transactionIndex": "0xb6", - "logIndex": "0xc9", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x8c4c20986c5878da36643bf071dc84545589d1bd2714fb501964566e49b72bd0", - "transactionIndex": "0xb6", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x240a698a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe358f1", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", - "transactionIndex": "0xb7", - "logIndex": "0xca", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x2eb3ad833d2574759aaa3e0d8c19d8ebcef5deb596a572eb472b92aa3cc8e686", - "transactionIndex": "0xb7", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x240a698a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe6f7f0", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ec", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xcb", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ec", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xcc", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000000a2fb4057a2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xcd", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xce", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xcf", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xd0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "blockTimestamp": "0x67d99de4", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "logIndex": "0xd1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4b044a01f8dbb7ab2b0ade6109f0b91123675491f288dd4f031f815a67704209", - "transactionIndex": "0xb8", - "blockHash": "0xf3d0851a0ac1ced3aad3dc4a4ce200b8f7d55b617aedd57067fdeb919f6df319", - "blockNumber": "0x78fdbf", - "gasUsed": "0x39eff", - "effectiveGasPrice": "0x240a698a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742314987, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json deleted file mode 100644 index 3e19ac7e..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315004.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401392" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", - "nonce": "0x77", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401392" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", - "nonce": "0x78", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x79", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x7a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54cb6", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x7b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xcd093d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", - "transactionIndex": "0x73", - "logIndex": "0xa8", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x9de864103b7d1533eae0e50f133089777c208946a4f35cbd8b21ac28e088327d", - "transactionIndex": "0x73", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x268d3dea", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcd8123", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef70", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", - "transactionIndex": "0x74", - "logIndex": "0xa9", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xe0cd1812a701942264c56a6564d9954dee117f73d4e6b39e6b98cf975430cd87", - "transactionIndex": "0x74", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x268d3dea", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcde94a", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", - "transactionIndex": "0x75", - "logIndex": "0xaa", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x0f61d19d06b075ec1a32097922f62c6f2da89d053e8ffe01466e17fe9065a58b", - "transactionIndex": "0x75", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x268d3dea", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xce5171", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", - "transactionIndex": "0x76", - "logIndex": "0xab", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x8867ef4766204998a4cf51bc5f78ab16a13177603a7ac8958f14e0e152ee334a", - "transactionIndex": "0x76", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x268d3dea", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xd1f11c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7eb", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7eb", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000000ba43b73f8d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xaf", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xb0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "blockTimestamp": "0x67d99dfc", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "logIndex": "0xb2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x77aa79572cd7de9b10db6ea5fb2e98e1376bdfe7a17729f834edf6eac5d19c75", - "transactionIndex": "0x77", - "blockHash": "0x3d2225547820c8795198bc0012b593c845fafb54916dc6edf1d5361533305556", - "blockNumber": "0x78fdc1", - "gasUsed": "0x39fab", - "effectiveGasPrice": "0x268d3dea", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315004, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json deleted file mode 100644 index 7cc426b8..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315021.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401404" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", - "nonce": "0x7c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401404" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", - "nonce": "0x7d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x7e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x7f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x500a8", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x80", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb22b5b", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", - "transactionIndex": "0x6a", - "logIndex": "0xbe", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x26316df061a6e3f5b0f596fbcda9ea3ef45a92260bbc752f970f8ea347c7f804", - "transactionIndex": "0x6a", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x25f9c3aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb2a341", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daef7c", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", - "transactionIndex": "0x6b", - "logIndex": "0xbf", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xbe52d0a0018a20687d8ebde1c9de52c97bf30adce33bceaadffa03b81aab2f9f", - "transactionIndex": "0x6b", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x25f9c3aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb30b68", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", - "transactionIndex": "0x6c", - "logIndex": "0xc0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x9cb4396b83e8df0de591f69f8a7c8c51868fc15e6cad173c88fd63b6936d87c8", - "transactionIndex": "0x6c", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x25f9c3aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb3738f", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", - "transactionIndex": "0x6d", - "logIndex": "0xc1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x08feccccb8d790d244b316f823f32a9419744121a184c0637426ff7ecb9b67cf", - "transactionIndex": "0x6d", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x25f9c3aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb712bc", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ea", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc2", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7ea", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc3", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000000d18c2e2777000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc5", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc7", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "blockTimestamp": "0x67d99e08", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "logIndex": "0xc8", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe0a1fa627b830baf505ee7df372d1cd81cef8a472f255889eaaf55e9e2479109", - "transactionIndex": "0x6e", - "blockHash": "0x2ef0c1c07b1a6401082da080deba949403963e953cd6eaaca4422fb90983c6f4", - "blockNumber": "0x78fdc2", - "gasUsed": "0x39f2d", - "effectiveGasPrice": "0x25f9c3aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315021, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json deleted file mode 100644 index 08eb24a7..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315129.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401500" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", - "nonce": "0x81", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401500" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", - "nonce": "0x82", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x83", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x84", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54acb", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x85", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1084372", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", - "transactionIndex": "0x78", - "logIndex": "0xbc", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xbc77c86e8f52e06385483f26f21345ea9795d1d51e80956d457cf638d191a34b", - "transactionIndex": "0x78", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x231c3d76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x108bb58", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daefdc", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", - "transactionIndex": "0x79", - "logIndex": "0xbd", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xd84c3c98aa2c7347aee6ce937fc8a2b2057cec9ceea02a34b092d701f53ad8c0", - "transactionIndex": "0x79", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x231c3d76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x10a23e2", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", - "transactionIndex": "0x7c", - "logIndex": "0xc0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3b29e0a8da7166207a11fba6a953b20f30b98c80c804d1f9545b4089137494e2", - "transactionIndex": "0x7c", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x231c3d76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x10a8c09", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", - "transactionIndex": "0x7d", - "logIndex": "0xc1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x08095bf0ac60962a8442cbf10e3f5e06c36a252ed485ab10c945804e9f266e89", - "transactionIndex": "0x7d", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x231c3d76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x10e2a64", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e9", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc2", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e9", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc3", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f60000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc5", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc7", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "blockTimestamp": "0x67d99e74", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "logIndex": "0xc8", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xdd031fc51157310697ed1cd4a2dc682c93a14920b8e91fa02a39ad53aa21de6f", - "transactionIndex": "0x7e", - "blockHash": "0xac1587c119ec85975e1c1c1b03c3d286966e4d0a141cfd62ccfe5962047c498c", - "blockNumber": "0x78fdcb", - "gasUsed": "0x39e5b", - "effectiveGasPrice": "0x231c3d76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315129, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json deleted file mode 100644 index b365e9e4..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315150.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401524" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", - "nonce": "0x86", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401524" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", - "nonce": "0x87", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x88", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x89", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x549c9", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x8a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xbb8d46", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", - "transactionIndex": "0x8d", - "logIndex": "0xac", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x9ac8cef04bf000286f33b363d3e315fdf1ed75f16cbe4b138cb2fff37684293d", - "transactionIndex": "0x8d", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x220dacc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbc052c", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daeff4", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", - "transactionIndex": "0x8e", - "logIndex": "0xad", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xa15d794190ac1b40bff8db98b24510254ac186c30b05151348e626617bb7830a", - "transactionIndex": "0x8e", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x220dacc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbc6d53", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", - "transactionIndex": "0x8f", - "logIndex": "0xae", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xe54de55cc2bf7043ee6141ec598667fcb939ca216b30337148062186da75da3b", - "transactionIndex": "0x8f", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x220dacc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbcd57a", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", - "transactionIndex": "0x90", - "logIndex": "0xaf", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xe46b64154868d9fbfdbb232b75df283743568c39fd822babf624548000105b2e", - "transactionIndex": "0x90", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x220dacc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc07325", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb0", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000001001d1bf748000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb4", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "blockTimestamp": "0x67d99e8c", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "logIndex": "0xb6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x2ce53f3fcd73fda716e001566fc77b9dc4c8ed43130ac30df5af953ac2f2eac8", - "transactionIndex": "0x91", - "blockHash": "0xff71ac61779ca8f5f2e096d63c43741a062f3a9d7f02e17b712ab1fb3ba293a4", - "blockNumber": "0x78fdcd", - "gasUsed": "0x39dab", - "effectiveGasPrice": "0x220dacc2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315150, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json deleted file mode 100644 index bdcdec04..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315165.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401548" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", - "nonce": "0x8b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401548" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", - "nonce": "0x8c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x8d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x8e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50308", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x8f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xbe832d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", - "transactionIndex": "0x70", - "logIndex": "0xa3", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x23da7d95d6b41ca94d41e3e4b163fe75428a7c87560c0400c2a844a32586a3eb", - "transactionIndex": "0x70", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x22944602", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbefb13", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf00c", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", - "transactionIndex": "0x71", - "logIndex": "0xa4", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x486ea1c017b13ace7e7a97f167ba218e39eac4c82e0784fc548834cacb6091f3", - "transactionIndex": "0x71", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x22944602", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbf633a", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", - "transactionIndex": "0x72", - "logIndex": "0xa5", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xa3e816a1d0a4b45ada0b3ee0ee78ace1cb06f8ca46b38dab9bc7bc8d49cf8f5f", - "transactionIndex": "0x72", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x22944602", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbfcb61", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", - "transactionIndex": "0x73", - "logIndex": "0xa6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x292f2256d5b4e10d6353f57979c2f39d0b18bec1423f5b5e4fec8fbaa2d05c85", - "transactionIndex": "0x73", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x22944602", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc36c46", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e8", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xa8", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000001176592df30000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "blockTimestamp": "0x67d99e98", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "logIndex": "0xad", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x57396c4d7b1d1a8ceca86834e4f422ffcf232a8e82b64c1427ffeb27a4e0c219", - "transactionIndex": "0x74", - "blockHash": "0x9e8bfc14e530a75a7cc0a1a9911e5e03e098daf556e53c697d1e7bac562e7b75", - "blockNumber": "0x78fdce", - "gasUsed": "0x3a0e5", - "effectiveGasPrice": "0x22944602", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315165, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json deleted file mode 100644 index 4cc130d6..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315204.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401584" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", - "nonce": "0x90", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401584" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", - "nonce": "0x91", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x92", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x93", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x504ee", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x94", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x11db023", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", - "transactionIndex": "0x9a", - "logIndex": "0xb1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x059385a7112a68407e9d5001eb2971268b5aaf251f8c97e0f36a1bead6576cd7", - "transactionIndex": "0x9a", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1f016046", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x11e2809", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf030", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", - "transactionIndex": "0x9b", - "logIndex": "0xb2", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x74780a99b352ae3bc4a0ab7078e3429ae5aa5e436a517b8f2b1ccfef8dbecf84", - "transactionIndex": "0x9b", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1f016046", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x11e9030", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", - "transactionIndex": "0x9c", - "logIndex": "0xb3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x57a42b3d326fd7fae38c1d834650412378bee3767b2a0b802ee673b12c5fadde", - "transactionIndex": "0x9c", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1f016046", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x11ef857", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", - "transactionIndex": "0x9d", - "logIndex": "0xb4", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x710c420af1793a6816fab57702477635f7c66deb10cd81650c895543a05f023b", - "transactionIndex": "0x9d", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1f016046", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1229a9c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xb6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000012eae09c717000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xb7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xb8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xb9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xba", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "blockTimestamp": "0x67d99ebc", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "logIndex": "0xbb", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3a6144f70c46e60a42fc2403ff3c0694d77432bea543dcbd8e65f96004b1e5f1", - "transactionIndex": "0x9e", - "blockHash": "0xcd7a413335e16f12301eb111cae118596ce978a046a4e322843af65b51b88002", - "blockNumber": "0x78fdd1", - "gasUsed": "0x3a245", - "effectiveGasPrice": "0x1f016046", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315204, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json deleted file mode 100644 index 0e607f2d..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315225.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401596" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", - "nonce": "0x95", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401596" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", - "nonce": "0x96", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x97", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x98", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1, 1]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50440", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x99", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x86a0f4", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", - "transactionIndex": "0x74", - "logIndex": "0x85", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x97d9d6fc61f0cbadfac347f7f7b32396f13dc1ec1a6a162ec4d1c48d972f26de", - "transactionIndex": "0x74", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1f19af6b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8718da", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf03c", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", - "transactionIndex": "0x75", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x7ceec888c768e56eff7492e3477ca9b0dba26324a9e35d6df122614d4249c91d", - "transactionIndex": "0x75", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1f19af6b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x878101", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", - "transactionIndex": "0x76", - "logIndex": "0x87", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xdc94adaa4eb8cc78bfc801d52c5af76d9ede9933d801aec2b82864968b006b94", - "transactionIndex": "0x76", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1f19af6b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x87e928", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", - "transactionIndex": "0x77", - "logIndex": "0x88", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x334adbdf4f685e7e355a45ca50cef50ca383da4ac95abf4d8667dc38583a62b5", - "transactionIndex": "0x77", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1f19af6b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8b8aef", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000174876e7e7", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000145f680aefe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8e", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "blockTimestamp": "0x67d99ed4", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "logIndex": "0x8f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x355e5fe4735e9785f8dcfe428d90033b4cbf6c2d6f9517f7fd26a3cdc114438c", - "transactionIndex": "0x78", - "blockHash": "0x5fda442e58b4da73045f6dd9c79b1d4a99d224ecfe3770218553087b1a88f24d", - "blockNumber": "0x78fdd3", - "gasUsed": "0x3a1c7", - "effectiveGasPrice": "0x1f19af6b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315225, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json deleted file mode 100644 index 63b142aa..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315258.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401632" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", - "nonce": "0x9a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401632" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", - "nonce": "0x9b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x9c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x9d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[2, 2]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54f14", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x9e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xdbbd48", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", - "transactionIndex": "0x67", - "logIndex": "0x85", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x90ae3063b2102bd4033e9478acdccf5182f07c379fa972415cfbf929b956b51b", - "transactionIndex": "0x67", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1bdad5d1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xdc352e", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf060", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", - "transactionIndex": "0x68", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x9d5470ca7a07beb2810a4949550f4c04b6c7c60cd60ef5b4d8a8d3408f9fcef4", - "transactionIndex": "0x68", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1bdad5d1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xede403", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", - "transactionIndex": "0x71", - "logIndex": "0x93", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3c95747bfa35c9026c20a2ae773056f0214ad8d2fdeecf701b35e395a0479a40", - "transactionIndex": "0x71", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1bdad5d1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xef055e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", - "transactionIndex": "0x74", - "logIndex": "0x95", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x0ddfef01a8ea43f6163b2d761bb598bc2b9ecaacea6dfa792cbce2c1a6fc7b15", - "transactionIndex": "0x74", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1bdad5d1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf2a6a7", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd4", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x96", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd4", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x97", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000174876e7ed2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x98", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x99", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x9a", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x9b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "blockTimestamp": "0x67d99ef8", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "logIndex": "0x9c", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4632c74497818a0bb3269a81c7aad3c7abc4095101df58c1cd9844d3c4626c19", - "transactionIndex": "0x75", - "blockHash": "0x8393243841327a8ea5550c112db2bbe0a2fc8c39a316df0602cf597936959d95", - "blockNumber": "0x78fdd6", - "gasUsed": "0x3a149", - "effectiveGasPrice": "0x1bdad5d1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315258, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json deleted file mode 100644 index 915bbc7b..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315292.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401680" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", - "nonce": "0x9f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401680" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", - "nonce": "0xa0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xa1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xa2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[2, 2]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54f51", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xa3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb0bbf4", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", - "transactionIndex": "0x87", - "logIndex": "0xb9", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x8d0fc44913c69867714080edb23a1a8991460ee034f7e6017eaca10d19f63c35", - "transactionIndex": "0x87", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1b62505c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb133da", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf090", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", - "transactionIndex": "0x88", - "logIndex": "0xba", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xfc682018f95d6687b0da65a6933cefc5993363c31871b08ccf8e7420c7d7324a", - "transactionIndex": "0x88", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1b62505c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb19c01", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", - "transactionIndex": "0x89", - "logIndex": "0xbb", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xe466d43e46f3493fb67f75b67265436affd7082071cd3dd4ad03a831d7eac7e7", - "transactionIndex": "0x89", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1b62505c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb20428", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", - "transactionIndex": "0x8a", - "logIndex": "0xbc", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x80bb0b50c08ce51a8a25e091911ebeac1d21dfdb0599cd2af7cffa04ab356651", - "transactionIndex": "0x8a", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1b62505c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb5a59b", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd3", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xbd", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd3", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xbe", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000001a3185c4ea5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xbf", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xc0", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xc1", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xc2", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "blockTimestamp": "0x67d99f1c", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "logIndex": "0xc3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xbd20ae2d84617d18bd361a20659caf8892bce9b5bbe3d3f1636286dbd6a7eece", - "transactionIndex": "0x8b", - "blockHash": "0x1e92b471393030243b1b69cf72f82a28169189639d5b974f2be5444f754bc465", - "blockNumber": "0x78fdd9", - "gasUsed": "0x3a173", - "effectiveGasPrice": "0x1b62505c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315292, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json deleted file mode 100644 index 60c83a79..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315317.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401692" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", - "nonce": "0xa4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401692" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", - "nonce": "0xa5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xa6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xa7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[2, 2]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x503fb", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xa8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xf1ef77", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", - "transactionIndex": "0x7a", - "logIndex": "0xb8", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xc5a0079780c5a9473c97063567a53ff625d099f4f982c32ba16fd038041e5669", - "transactionIndex": "0x7a", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x19c77de8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf2675d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf09c", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", - "transactionIndex": "0x7b", - "logIndex": "0xb9", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x0eb849e8437599013c1dd9c52c8259bf41cc71b25751917bcb0e22f1825bee1b", - "transactionIndex": "0x7b", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x19c77de8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf2cf84", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", - "transactionIndex": "0x7c", - "logIndex": "0xba", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x671e7af9e2ae6954af0dd69d907c8abf24ab594c79d31f18347ae4d22e77fe3f", - "transactionIndex": "0x7c", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x19c77de8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf337ab", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", - "transactionIndex": "0x7d", - "logIndex": "0xbb", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x55332143b8aafc972d0e8f6ed0b434a118e25a337ff50d4b9d9e265e48e80f45", - "transactionIndex": "0x7d", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x19c77de8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf6d940", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd2", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xbc", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd2", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xbd", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e77000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xbe", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xbf", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xc0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xc1", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "blockTimestamp": "0x67d99f34", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "logIndex": "0xc2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb19f5c0bfb730e4aff01b294c0d6fbc508d6300e8cf4651f8e2d023650cc8d65", - "transactionIndex": "0x7e", - "blockHash": "0xc064b73d70a7f12c8a97720f5178cddc60740e05ed2ad1cbe66ea15f77b4d931", - "blockNumber": "0x78fddb", - "gasUsed": "0x3a195", - "effectiveGasPrice": "0x19c77de8", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315317, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json deleted file mode 100644 index b89363b2..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315347.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401728" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", - "nonce": "0xa9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401728" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", - "nonce": "0xaa", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xab", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xac", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[2, 2]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54f7d", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xad", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xdefd00", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", - "transactionIndex": "0x75", - "logIndex": "0x9c", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x4648766fc67a567a013964c4a6c98be668e83b55ce2fe15506f76cce1e5e535c", - "transactionIndex": "0x75", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1867dcef", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xdf74e6", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0c0", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", - "transactionIndex": "0x76", - "logIndex": "0x9d", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xb95e7adab9e1638cd619720397a6d3321ee73ddca7981396180e8be344e654ab", - "transactionIndex": "0x76", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1867dcef", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xdfdd0d", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", - "transactionIndex": "0x77", - "logIndex": "0x9e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x803a00d618ec6d8b581b0bab1e6f7745af637a85f350f6ea9fc23d275b036c83", - "transactionIndex": "0x77", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1867dcef", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe04534", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", - "transactionIndex": "0x78", - "logIndex": "0x9f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x47a2d7f02f00df6b017cb958a19a126fc62852e955ee94e0579b8d5d543a38f3", - "transactionIndex": "0x78", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1867dcef", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe3e6c5", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd1", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa0", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000002e90edcfd1", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000002003a37ee48000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa2", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000002", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "blockTimestamp": "0x67d99f4c", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "logIndex": "0xa6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4edef90e6c8e9fa85b8c9c322c42e226d20af4f09c5e664438bbdf9b49b86ec9", - "transactionIndex": "0x79", - "blockHash": "0x81015ab06adb584cad93687377087460ee8be5720bad9e1158a80fec1814e081", - "blockNumber": "0x78fddd", - "gasUsed": "0x3a191", - "effectiveGasPrice": "0x1867dcef", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315347, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json deleted file mode 100644 index b714f716..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315369.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401752" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", - "nonce": "0xae", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401752" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", - "nonce": "0xaf", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xb0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xb1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[3, 3]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50381", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xb2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x10620f6", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", - "transactionIndex": "0xee", - "logIndex": "0x116", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x0cc9c79a6e401655850facaa62de181b1ad5d8914c487ce9c5d3428b5a503fef", - "transactionIndex": "0xee", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x16ad0759", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x10698dc", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0d8", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", - "transactionIndex": "0xef", - "logIndex": "0x117", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xf47065cca081c246ea454e09dfa158b584fa74511d296f3e732f15ba4bbf7103", - "transactionIndex": "0xef", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x16ad0759", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1070103", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", - "transactionIndex": "0xf0", - "logIndex": "0x118", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xd7d62a0c38b3791b765069f1d5c16fdec9f608c32b59e57002bdf64db645238d", - "transactionIndex": "0xf0", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x16ad0759", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x107692a", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", - "transactionIndex": "0xf1", - "logIndex": "0x119", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x54ad75767b4a89c8ce521619a93f82f0a7f92f155f2d5386cdf17ed430981b60", - "transactionIndex": "0xf1", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x16ad0759", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x10b0a67", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bc", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11a", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bc", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11b", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000246139ca604000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11c", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000003", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11d", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11e", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000003", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x11f", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe6", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "blockTimestamp": "0x67d99f64", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "logIndex": "0x120", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x2eb970f27fe68438cf56addf67c594ebdb85fde99d185495bbb5dee9b1627dfa", - "transactionIndex": "0xf2", - "blockHash": "0x569249cc607be2bee88c1765ef84a4266305fc5b01c01dd5c69454415a8c9490", - "blockNumber": "0x78fddf", - "gasUsed": "0x3a13d", - "effectiveGasPrice": "0x16ad0759", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315369, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json deleted file mode 100644 index dd865919..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315389.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401776" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", - "nonce": "0xb3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401776" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", - "nonce": "0xb4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xb5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xb6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[3, 3]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x502c9", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xb7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x13529a6", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", - "transactionIndex": "0xb5", - "logIndex": "0x149", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x91c6aabf63733cb57083ec987a1f67f90aa7d561c141a16505c82ce83ed0853d", - "transactionIndex": "0xb5", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x16adca03", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x135a18c", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf0f0", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", - "transactionIndex": "0xb6", - "logIndex": "0x14a", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x4bd18a8fe112352a22e4d4b6be889a3f5690741f42a3ab518ca39f3dd2312637", - "transactionIndex": "0xb6", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x16adca03", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13609b3", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", - "transactionIndex": "0xb7", - "logIndex": "0x14b", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3a84c14f3e99d1db9f7f222f6f39b1a0a35a69d10d398bdf447383d83e50d347", - "transactionIndex": "0xb7", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x16adca03", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13671da", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", - "transactionIndex": "0xb8", - "logIndex": "0x14c", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x9cc363bad2725be2e659ede51813227de73c7815c5e8713ded8f0c6ea3e720c6", - "transactionIndex": "0xb8", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x16adca03", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x13a1291", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bb", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x14d", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000000045d964b7bb", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x14e", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000028bed015dbf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x14f", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000003", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x150", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x151", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000003", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x152", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "blockTimestamp": "0x67d99f7c", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "logIndex": "0x153", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa5c5a6b60e5798dc4617c8aa63af6e9fe801c9144072c447658702af90663827", - "transactionIndex": "0xb9", - "blockHash": "0x031de8613b056cc268547c90564af25529fc3c2cf5b29650367d8f21bb9bdcc3", - "blockNumber": "0x78fde1", - "gasUsed": "0x3a0b7", - "effectiveGasPrice": "0x16adca03", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315389, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json deleted file mode 100644 index ef5d157f..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315427.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401812" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", - "nonce": "0xb8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401812" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", - "nonce": "0xb9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xba", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xbb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[4, 4]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x502fd", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xbc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x92f200", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", - "transactionIndex": "0x6c", - "logIndex": "0x9c", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xe03777a08893b91e58d0b221c5b0a00ef9309e5576ee99042e4d989c4ad3761d", - "transactionIndex": "0x6c", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x164e2471", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x9369e6", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf114", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", - "transactionIndex": "0x6d", - "logIndex": "0x9d", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x90f444043e286cbd88cee3970d2b56c508e1a63417aa003acd937689a43a5004", - "transactionIndex": "0x6d", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x164e2471", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x93d20d", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", - "transactionIndex": "0x6e", - "logIndex": "0x9e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x701130e0564c7118f687b09de5c79967a472cbd708c705b066e8b7eb59a2e57d", - "transactionIndex": "0x6e", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x164e2471", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x943a34", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", - "transactionIndex": "0x6f", - "logIndex": "0x9f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x92f6b4097e4ecac821f2b66c63716bc2b35e34506238879e10c25905332556ec", - "transactionIndex": "0x6f", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x164e2471", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x97db11", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fa6", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa0", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000005d21db9fa6", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000002e90edcfd65000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa2", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000004", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000004", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdf", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "blockTimestamp": "0x67d99fa0", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "logIndex": "0xa6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x2252e64c2286cf902afbdead7683d0781c277c7d8d819bc49d207765f7f44e5a", - "transactionIndex": "0x70", - "blockHash": "0xf900c3486377d0ebc314ec1a3a7e2f6c0d8c699f4208952e607ee68d9e4df0b5", - "blockNumber": "0x78fde4", - "gasUsed": "0x3a0dd", - "effectiveGasPrice": "0x164e2471", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315427, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json deleted file mode 100644 index 0a075854..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315477.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401848" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", - "nonce": "0xbd", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401848" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", - "nonce": "0xbe", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xbf", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xc0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[5, 5]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5024e", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xc1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x8ece4d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", - "transactionIndex": "0x5f", - "logIndex": "0x7c", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x21ec5eec09063c53617e4a79fb9dc4736b842417c3e40036d080418b4cd79284", - "transactionIndex": "0x5f", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1558c052", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8f4633", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf138", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", - "transactionIndex": "0x60", - "logIndex": "0x7d", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x6b1e5b2b9db60f5be88d1ec3afb3a09a5c3b4ebb043701f21bb14a9f98235fbd", - "transactionIndex": "0x60", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1558c052", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8fae5a", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", - "transactionIndex": "0x61", - "logIndex": "0x7e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x594122beef960f824a424f636faf3e22a99a25e0894f18575ff270f8e87ff21f", - "transactionIndex": "0x61", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1558c052", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x901681", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", - "transactionIndex": "0x62", - "logIndex": "0x7f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xfae79138524ecd1e0aa2c5f1bb6470008f9d2acc8870b395eb49756def00714e", - "transactionIndex": "0x62", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1558c052", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x93b6e0", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a528790", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x80", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a528790", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x81", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000035d792f84f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x82", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x83", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "blockTimestamp": "0x67d99fd0", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xac33674e4352645798535686196265767ac9fe56a4adc4aa55c29811c5412944", - "transactionIndex": "0x63", - "blockHash": "0xb7f63743cfa5d3ef49c77986c31d0601af03d18f4d20f5eeb76654be7cc8ccad", - "blockNumber": "0x78fde8", - "gasUsed": "0x3a05f", - "effectiveGasPrice": "0x1558c052", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315477, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json deleted file mode 100644 index 5161a9ec..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315512.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401884" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", - "nonce": "0xc2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401884" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", - "nonce": "0xc3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xc4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xc5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[5, 5]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50167", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xc6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x8a6acc", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", - "transactionIndex": "0x54", - "logIndex": "0x79", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x667e018613bd587b54fa2e2efa79272de18a33a3bb77fcbc42f5db75cee152ad", - "transactionIndex": "0x54", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1375e190", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8ae2b2", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf15c", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", - "transactionIndex": "0x55", - "logIndex": "0x7a", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x2f83769dee439643c360daa4ac996a19fa4fcbfbe0be83071a7af19ddddf87bb", - "transactionIndex": "0x55", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x1375e190", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8b4ad9", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", - "transactionIndex": "0x56", - "logIndex": "0x7b", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xa36860a2dd5b3171ffc695fadcd446b08e57572d37502e52635966128eff0efd", - "transactionIndex": "0x56", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1375e190", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8bb300", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", - "transactionIndex": "0x57", - "logIndex": "0x7c", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x72f57e10c63c3850e10e1ad7e1e408e6bd49c50daea12e2af36127336d058eb0", - "transactionIndex": "0x57", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x1375e190", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8f52b7", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878f", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x7d", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878f", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x7e", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000003d1e3820c84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x7f", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x80", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x81", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x82", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "blockTimestamp": "0x67d99ff4", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "logIndex": "0x83", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x6c6caca1a1e3b8d7b55c7bba9b1c80b74190dfdd140ae781df920f922ed87b80", - "transactionIndex": "0x58", - "blockHash": "0x92e6a5f120808e48d9b313c63ca8b85ecfad43634348b2c7d1a72cd2ed3eaf35", - "blockNumber": "0x78fdeb", - "gasUsed": "0x39fb7", - "effectiveGasPrice": "0x1375e190", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315512, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json deleted file mode 100644 index 8583290b..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315536.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401908" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", - "nonce": "0xc7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401908" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", - "nonce": "0xc8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xc9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xca", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[5, 5]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50308", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xcb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x12068d3", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", - "transactionIndex": "0x97", - "logIndex": "0x11e", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xdd30cbf073baa3ab13e897b7994f2dd3b33992bb24bb1d690df326d853bbe693", - "transactionIndex": "0x97", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x11b5e043", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x120e0b9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf174", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", - "transactionIndex": "0x98", - "logIndex": "0x11f", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x87e49395a2f58e1b69503e82f7e4e3a49cbb05ff21438083af24ebd791375fae", - "transactionIndex": "0x98", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x11b5e043", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12148e0", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", - "transactionIndex": "0x99", - "logIndex": "0x120", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x6b7c86f08fb6f590e5068634e44d36978ccb58e42b0726865514204a6b3cdb4d", - "transactionIndex": "0x99", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x11b5e043", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x121b107", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", - "transactionIndex": "0x9a", - "logIndex": "0x121", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xdd105cfcc625237f2ddaf22d5ece39a14add1ab009898e6eab5a16083728a755", - "transactionIndex": "0x9a", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x11b5e043", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x12551ec", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878e", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x122", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878e", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x123", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000004464dd49412000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x124", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x125", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x126", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x127", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "blockTimestamp": "0x67d9a00c", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "logIndex": "0x128", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7fe21d9be1cf83a4aa2701cce459675adab51d9ec4d373a0b598b7d84d45a3a7", - "transactionIndex": "0x9b", - "blockHash": "0xef82747d2360d125007b31477c902dedc98cb5449a86457543c15e6d82a776f6", - "blockNumber": "0x78fded", - "gasUsed": "0x3a0e5", - "effectiveGasPrice": "0x11b5e043", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315536, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json deleted file mode 100644 index a960f942..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315560.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401932" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", - "nonce": "0xcc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742401932" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", - "nonce": "0xcd", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xce", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xcf", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[5, 5]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50377", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xd0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xde9757", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", - "transactionIndex": "0x7d", - "logIndex": "0xd0", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x97714c655822c0f24b748ec8872728224c574776325ba2fb8aa8a10fc863218d", - "transactionIndex": "0x7d", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x11e65e27", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xdf0f3d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf18c", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", - "transactionIndex": "0x7e", - "logIndex": "0xd1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x823f45a67174a8a19dbdbd54a8f8d72f8b14a4ed1d7b196cdb373eabd2e4efbb", - "transactionIndex": "0x7e", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x11e65e27", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xdff862", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", - "transactionIndex": "0x80", - "logIndex": "0xd3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x48ceb39b8610e35ebec719a11c315d94d27236ada368df423484c21c4e0e7478", - "transactionIndex": "0x80", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x11e65e27", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe06089", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", - "transactionIndex": "0x81", - "logIndex": "0xd4", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x586f0ca771966bf4c811d08c06935bf9c0f7f0a992c9383c4b7c32d9b60a2bb9", - "transactionIndex": "0x81", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x11e65e27", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe401be", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xd5", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xd6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000004bab8271b9f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xd7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xd8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xd9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xda", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "blockTimestamp": "0x67d9a024", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "logIndex": "0xdb", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc119f8e8bffb85955e40e28b749e567684eba174552c663cf43c184c93f8eb9e", - "transactionIndex": "0x82", - "blockHash": "0xf80b9c3a00d8327f5b528bc28094d92a0f0f1fff1f2d972409552bde4df2ee9a", - "blockNumber": "0x78fdef", - "gasUsed": "0x3a135", - "effectiveGasPrice": "0x11e65e27", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315560, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json deleted file mode 100644 index bc97890f..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315959.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402340" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", - "nonce": "0xd1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402340" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", - "nonce": "0xd2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xd3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xd4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[5, 5]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5024e", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xd5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1151057", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", - "transactionIndex": "0x7a", - "logIndex": "0xba", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x87bec4c9be48279f9ee63eb604da8819ca66f400d6a55946262929e380090341", - "transactionIndex": "0x7a", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x8065c57", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x115883d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf324", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", - "transactionIndex": "0x7b", - "logIndex": "0xbb", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x17bf7e72b09e505fd9f518614916a491ea8be5b7e86524aa73703080f33dd20a", - "transactionIndex": "0x7b", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x8065c57", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x117e927", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", - "transactionIndex": "0x7d", - "logIndex": "0xbf", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xcf7d33eef787110e715da591ed9e240dcd939a4dcebe184881ea81ebf078c9ec", - "transactionIndex": "0x7d", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x8065c57", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x118514e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", - "transactionIndex": "0x7e", - "logIndex": "0xc0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xc34489bbf47109eb563b5a2cf0c8ab03e8f8121a6ff09f17d8e7f4053cc1356a", - "transactionIndex": "0x7e", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x8065c57", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x11bf1ad", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc1", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000746a52878d", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc2", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000052f2279a32c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000005", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "blockTimestamp": "0x67d9a1b0", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "logIndex": "0xc7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x87e4192d2774e7637bb2e3eaf656a1b89dd2688915aa07c7e05818fecc432c99", - "transactionIndex": "0x7f", - "blockHash": "0xd1e0242908ff5e1c04e9d3514ce4bb34ed0478c5454c618af412d06c61796a1b", - "blockNumber": "0x78fe10", - "gasUsed": "0x3a05f", - "effectiveGasPrice": "0x8065c57", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315959, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json deleted file mode 100644 index cdfb83cd..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742315980.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402364" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", - "nonce": "0xd6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402364" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", - "nonce": "0xd7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xd8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xd9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[10, 10]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54d42", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xda", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc7536a", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", - "transactionIndex": "0x62", - "logIndex": "0x84", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x88b8112ad5988a04d6f7f1a9694aad7e89c128e25245945b5e1625af24869d95", - "transactionIndex": "0x62", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x7a8828f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc7cb50", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf33c", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", - "transactionIndex": "0x63", - "logIndex": "0x85", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x55364f5b6dd8cdf3ae5e470b85f0da5dd293c4c017bf1f2cc5754715e100b1ec", - "transactionIndex": "0x63", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x7a8828f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc83377", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", - "transactionIndex": "0x64", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x29a0e2a3d5230051828aac87ec77090bf7dc0649265611b6b8fe58b74cbf83be", - "transactionIndex": "0x64", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x7a8828f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc89b9e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", - "transactionIndex": "0x65", - "logIndex": "0x87", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x7b4a1a6806d93bae7930edd2de7f7179512fdbbc9d22beb1d942ed16c2659de8", - "transactionIndex": "0x65", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x7a8828f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcc3ba9", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1f", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1f", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000617f71eb24b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x8d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "blockTimestamp": "0x67d9a1c8", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "logIndex": "0x8e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x69dcee50cdf005a68474d367beb5d20de3aba634c1c8d877c6027f8b4465381e", - "transactionIndex": "0x66", - "blockHash": "0xaba7cace1a6b010cc1c7ae3a47c9507b9a982f15135702fa5cf2f575377b9f1c", - "blockNumber": "0x78fe12", - "gasUsed": "0x3a00b", - "effectiveGasPrice": "0x7a8828f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742315980, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json deleted file mode 100644 index 26d6b856..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316064.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402436" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", - "nonce": "0xdb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402436" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", - "nonce": "0xdc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xdd", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xde", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[10, 10]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5015b", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xdf", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x709fb9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", - "transactionIndex": "0x5e", - "logIndex": "0x65", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x8384d98d4ac13ab467e1d96fff9780a050ce971df4d764693ca6949a7c98d22f", - "transactionIndex": "0x5e", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x74de8c0", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x71179f", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf384", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", - "transactionIndex": "0x5f", - "logIndex": "0x66", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x39e74dff1072e5f0ab748ce349f9711170f8c35b5f1218cb1ca5fa2c4abc648b", - "transactionIndex": "0x5f", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x74de8c0", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x717fc6", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", - "transactionIndex": "0x60", - "logIndex": "0x67", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xc5c056ad7dc8ee758454dea4789b328940782c0eaee6ddcdcf60a8625a715b69", - "transactionIndex": "0x60", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x74de8c0", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x71e7ed", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", - "transactionIndex": "0x61", - "logIndex": "0x68", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x557de0724737f222675ed648af99289221b596d582711e161ee6f56c6a834db2", - "transactionIndex": "0x61", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x74de8c0", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x75879c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1e", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x69", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000000e8d4a50f1e", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6a", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000700cbc3c169000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6c", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000a", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6e", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "blockTimestamp": "0x67d9a21c", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "logIndex": "0x6f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x56602a600c6fa37cce1f2743b3978e32a92dc0ab58133bddcedc6528cc846d17", - "transactionIndex": "0x62", - "blockHash": "0x58f295e4f8e515cfc21a464fab8a259694720cba1fef57170566608f54f71c29", - "blockNumber": "0x78fe19", - "gasUsed": "0x39faf", - "effectiveGasPrice": "0x74de8c0", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316064, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json deleted file mode 100644 index 3f4c7511..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316089.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402472" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", - "nonce": "0xe0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402472" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", - "nonce": "0xe1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xe2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xe3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[15, 15]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5019b", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xe4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x95893e", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", - "transactionIndex": "0x82", - "logIndex": "0x6f", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xd2405d89367928d9bb4592e8ff74d65ca03d90c6ad0169c3d861e264e405d534", - "transactionIndex": "0x82", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6b5d063", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x960124", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3a8", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", - "transactionIndex": "0x83", - "logIndex": "0x70", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x3d48004c7e1e6159e2b24cbe182902c8f2824c8b0bdd2e1ff440ef11d0ead21e", - "transactionIndex": "0x83", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6b5d063", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x96694b", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", - "transactionIndex": "0x84", - "logIndex": "0x71", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x7e462f121d99d2b141527ea3d459fcc4dfeb12785111ea4a5571fb5807d3e60e", - "transactionIndex": "0x84", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6b5d063", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x96d172", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", - "transactionIndex": "0x85", - "logIndex": "0x72", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x886a69a68708c2fef17e91808f79f73ff2618f4c55cc2f08f15a24b3a1108186", - "transactionIndex": "0x85", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6b5d063", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x9a714f", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796b0", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x73", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796b0", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x74", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000085e0abb5819000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x75", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x76", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x77", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x78", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa3", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "blockTimestamp": "0x67d9a234", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "logIndex": "0x79", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa503a3cd72d615552e91c4b71a399940a44febe5ad56dd671eb8f4c730f31c27", - "transactionIndex": "0x86", - "blockHash": "0x13b95eaa928f8d6a706aa6110a34d606d3f82251d9871bd78e255ca713c614f6", - "blockNumber": "0x78fe1b", - "gasUsed": "0x39fdd", - "effectiveGasPrice": "0x6b5d063", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316089, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json deleted file mode 100644 index efa0919e..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316110.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402484" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", - "nonce": "0xe5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402484" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", - "nonce": "0xe6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xe7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xe8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[15, 15]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54d42", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xe9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe2acfe", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", - "transactionIndex": "0x71", - "logIndex": "0x8b", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x14b02c2531ec1e14c87aa9b0e7ed0adc5198fdb91d342ab262724a0554249809", - "transactionIndex": "0x71", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6524f79", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe324e4", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3b4", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", - "transactionIndex": "0x72", - "logIndex": "0x8c", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x98b2245ff3bfab78790f301535da80c542924830535797b48f9ff617aa760f0a", - "transactionIndex": "0x72", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6524f79", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe38d0b", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", - "transactionIndex": "0x73", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x064fd0d4efe5cf99c055e75f53335c6963f68ae7e5b29b4678e27c7c02630a3b", - "transactionIndex": "0x73", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6524f79", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe3f532", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", - "transactionIndex": "0x74", - "logIndex": "0x8e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xee40268b2dd45e38c5c1936ab3ec7819dd465a49c5670ee7d25bb79cd3fbf672", - "transactionIndex": "0x74", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6524f79", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe7953d", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796af", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x8f", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796af", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x90", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000009bb49b2eec8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x91", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x92", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x93", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x94", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff94", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "blockTimestamp": "0x67d9a24c", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "logIndex": "0x95", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x04a01c7d0c6c1def3909c24cb71edc32155203fb5cf37d2711d1b596fdbd4420", - "transactionIndex": "0x75", - "blockHash": "0xb57fe2451c0708d14290c3ca85a33558701915118ad60b4e6c2716ccd33b7382", - "blockNumber": "0x78fe1d", - "gasUsed": "0x3a00b", - "effectiveGasPrice": "0x6524f79", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316110, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json deleted file mode 100644 index 0ff6a4f8..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316139.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402508" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", - "nonce": "0xea", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402508" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", - "nonce": "0xeb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xec", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xed", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[15, 15]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54c4d", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xee", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa9bbde", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", - "transactionIndex": "0x6e", - "logIndex": "0xb4", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xfda291d2065025aae926c5f3d30a9c9ab27731eff0e895e8f24d5ba69eadab3c", - "transactionIndex": "0x6e", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x72a2b68", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xaa33c4", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3cc", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", - "transactionIndex": "0x6f", - "logIndex": "0xb5", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xd651d5396155e53c1d47d2aabb1fb543110f054e62952b5a483a5b4ca25a3b4a", - "transactionIndex": "0x6f", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x72a2b68", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xaa9beb", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", - "transactionIndex": "0x70", - "logIndex": "0xb6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x412f0ecf10392302a099891ab7559614ae8c7544c2e312e7e0b13266eb896b6c", - "transactionIndex": "0x70", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x72a2b68", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xab0412", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", - "transactionIndex": "0x71", - "logIndex": "0xb7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xdfe5a187429899d483c7e3c4ef8516d75d448534c0475872576c53711172df93", - "transactionIndex": "0x71", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x72a2b68", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xaea375", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796ae", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xb8", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000015d3ef796ae", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xb9", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000b1888aa8576000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xba", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xbb", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xbc", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000000f", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xbd", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "blockTimestamp": "0x67d9a264", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "logIndex": "0xbe", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x564eddb829e76fcab8a6aa95092f22356274fe419b3bc48acc586da8f78c8689", - "transactionIndex": "0x72", - "blockHash": "0x8f1bb1b643bc6e6bbd6a0e5d33a80bc3f59fe730fcd4ebfe5657c9f29f72b4b1", - "blockNumber": "0x78fe1f", - "gasUsed": "0x39f63", - "effectiveGasPrice": "0x72a2b68", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316139, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json deleted file mode 100644 index 4ab8d19f..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316173.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402544" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", - "nonce": "0xef", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402544" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", - "nonce": "0xf0", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xf1", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xf2", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[20, 20]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5015b", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xf3", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x89757a", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", - "transactionIndex": "0x78", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x17622cc0470cafcc95be0cfde1b5a1f8d9b9f84133a12c59fe5e29ea771602d2", - "transactionIndex": "0x78", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6badba2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x89ed60", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf3f0", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", - "transactionIndex": "0x79", - "logIndex": "0xa1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x71d11bb4710244182512459f2ec61f4330c71805099560ebed4f90da943a2ec4", - "transactionIndex": "0x79", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6badba2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8a5587", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", - "transactionIndex": "0x7a", - "logIndex": "0xa2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x72362056f1772915edf20728aa972d963dcdeb89b5dfd8095b6b29dfd6f00409", - "transactionIndex": "0x7a", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6badba2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8abdae", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", - "transactionIndex": "0x7b", - "logIndex": "0xa3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x69021811cfbb9ad1906decf914693234d301278b73ae248add4a92eb7acb1806", - "transactionIndex": "0x7b", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6badba2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8e5d5d", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3e", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3e", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000cea31f4a3b4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000014", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff71", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa8", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000014", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff71", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "blockTimestamp": "0x67d9a288", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "logIndex": "0xaa", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xeac285c99b33203cc52dc2b2eade57b5d8e3e61562bede9751fdd30f52d37c13", - "transactionIndex": "0x7c", - "blockHash": "0xfb1709bab31adcee42dccbdcf648dd62ee25e8b4a4cbf1daac57a029ea7e4a78", - "blockNumber": "0x78fe22", - "gasUsed": "0x39faf", - "effectiveGasPrice": "0x6badba2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316173, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json deleted file mode 100644 index 61a09161..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316196.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402568" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", - "nonce": "0xf4", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402568" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", - "nonce": "0xf5", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xf6", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xf7", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[20, 20]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54cb6", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xf8", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x88153d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", - "transactionIndex": "0x77", - "logIndex": "0x9e", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x31f5424d11eeb8fa1317da5a2e02a3078ecd39be7faa82d37242410d107f134c", - "transactionIndex": "0x77", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6bd5e58", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x888d23", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf408", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", - "transactionIndex": "0x78", - "logIndex": "0x9f", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x96011cc025b8cc4c7ceeeac501d460ae8e342575cde7b5bd4fb6cda1e4b55138", - "transactionIndex": "0x78", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6bd5e58", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x88f54a", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", - "transactionIndex": "0x79", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xc85711210c22144241c37fcc61b1f6cd71f04beea25721450ac2c38d27745244", - "transactionIndex": "0x79", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6bd5e58", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x895d71", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", - "transactionIndex": "0x7a", - "logIndex": "0xa1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xa3bdfc7d2d0959e3a861e3a58260df474251d4180a61c9f78d49337597f7622b", - "transactionIndex": "0x7a", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6bd5e58", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8cfd1c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3d", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa2", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000001d1a94a1e3d", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa3", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000000ebbdb3ec1f1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000014", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000014", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5d", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "blockTimestamp": "0x67d9a2a0", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "logIndex": "0xa8", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x90623c1b7457b700b34f5aa863dc33f94bc8daf43fee7ad0beb15c6ba1141bf2", - "transactionIndex": "0x7b", - "blockHash": "0x772ea77fb8d22152f4760ec04253e0ff5cbb7efa6e26063aa80cb8a0acdafad6", - "blockNumber": "0x78fe24", - "gasUsed": "0x39fab", - "effectiveGasPrice": "0x6bd5e58", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316196, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json deleted file mode 100644 index 46f7dfc2..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316230.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402592" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", - "nonce": "0xf9", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402592" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", - "nonce": "0xfa", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xfb", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0xfc", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[30, 30]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x4ffc0", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0xfd", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x796656", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", - "transactionIndex": "0x6b", - "logIndex": "0x8b", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xc4798026a5c804d6045966961e37eaf1a3d5ea3989724332a67fe9b59c465b81", - "transactionIndex": "0x6b", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x738aae2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x79de3c", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf420", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", - "transactionIndex": "0x6c", - "logIndex": "0x8c", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x1d3f6899e4daa9d472d79d9bce696f58849a495f4529bad212a16da4acd40556", - "transactionIndex": "0x6c", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x738aae2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x7a4663", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", - "transactionIndex": "0x6d", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3afd4e6f71ba2852542fed9b999b1a425011bbdf6cd395cfcd329d30d189fe75", - "transactionIndex": "0x6d", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x738aae2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x7aae8a", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", - "transactionIndex": "0x6e", - "logIndex": "0x8e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x944bc749e57eb9f45a1ea845ceeb62b3d5468d023b3247121123e379b762fe61", - "transactionIndex": "0x6e", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x738aae2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x7e4d0f", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5e", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x8f", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5e", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x90", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000001176592def4f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x91", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000001e", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x92", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x93", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000001e", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x94", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "blockTimestamp": "0x67d9a2c4", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "logIndex": "0x95", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x46352bce15cd3008b4da8b3f94eefbc02c6a25e5264c7984d5f3b55e534d1f4a", - "transactionIndex": "0x6f", - "blockHash": "0x7256392e0cedfbc1601e743a74a30319b5d7c1d199ebf5b66166731b3708637a", - "blockNumber": "0x78fe27", - "gasUsed": "0x39e85", - "effectiveGasPrice": "0x738aae2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316230, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json deleted file mode 100644 index 948e828d..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316244.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402628" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", - "nonce": "0xfe", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402628" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", - "nonce": "0xff", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x100", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x101", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[30, 30]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x549c9", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x102", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe21ee9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", - "transactionIndex": "0x6e", - "logIndex": "0xad", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xa6c177b735bd93cdd74a24dc682c102fd0f31c06541a4676ab7c0ec3c0d053b6", - "transactionIndex": "0x6e", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6ebe56b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe296cf", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf444", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", - "transactionIndex": "0x6f", - "logIndex": "0xae", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x4c489d73585ebc071bba45a2c46fbc17ce1a349be83a5160e7944547542b472f", - "transactionIndex": "0x6f", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6ebe56b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe2fef6", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", - "transactionIndex": "0x70", - "logIndex": "0xaf", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xe43fee5108a6682769d057ae94bf98b81613a08f4b7de85d419e2e80f051b103", - "transactionIndex": "0x70", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6ebe56b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe3671d", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", - "transactionIndex": "0x71", - "logIndex": "0xb0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x97adfb0cccf3875897d0feda74695fb1b42f10127d18301332e7e8ba2928ab9d", - "transactionIndex": "0x71", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6ebe56b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe704c8", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5d", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000002ba7def2d5d", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000001430d71d1cac000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000001e", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000001e", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "blockTimestamp": "0x67d9a2d0", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "logIndex": "0xb7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3a00cda9a57d649ed70606f9129d54e7b6e79f446b7c8be8b127c0dfd794a45d", - "transactionIndex": "0x72", - "blockHash": "0xf8c60ba470c2cb8c598e17f49caf1a837e7d5ffe5e5c96e9d1385c8cc49097da", - "blockNumber": "0x78fe28", - "gasUsed": "0x39dab", - "effectiveGasPrice": "0x6ebe56b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316244, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json deleted file mode 100644 index 16216072..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316270.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402640" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", - "nonce": "0x103", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402640" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", - "nonce": "0x104", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x105", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x106", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[50, 50]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x4ff3c", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x107", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x96eb69", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", - "transactionIndex": "0x68", - "logIndex": "0x83", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x4378cb183e468732f690dac35ebd22bedb52989e06baebaf2df597082ec66fbd", - "transactionIndex": "0x68", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6bd2c29", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x97634f", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf450", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", - "transactionIndex": "0x69", - "logIndex": "0x84", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x0b0879c3b633ff40e510a9acf8bb7ed67299caf388fe67469958cb31b3a69b04", - "transactionIndex": "0x69", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6bd2c29", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x97cb76", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", - "transactionIndex": "0x6a", - "logIndex": "0x85", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x98e64a585c97ae6407f2353dc77fd26af7fc3ede81cd1c58027c0da2c80c1302", - "transactionIndex": "0x6a", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6bd2c29", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x98339d", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", - "transactionIndex": "0x6b", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xca7304ce69cc67160dbcf91a9f399942cd7187e73adf9005d751d6fbd92d1171", - "transactionIndex": "0x6b", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6bd2c29", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x9bd1c2", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000048c27394b9e", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x87", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000048c27394b9e", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000018bcfe56684a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeef", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000032", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeef", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "blockTimestamp": "0x67d9a2e8", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xffc9252f17e1f570e3df5769e7690059319c93e20793937f9c26230e09e64ee7", - "transactionIndex": "0x6c", - "blockHash": "0x9873d391f3a3f05765e1d5dca2927604a66d849907a13e525fcbe802f457aecc", - "blockNumber": "0x78fe2a", - "gasUsed": "0x39e25", - "effectiveGasPrice": "0x6bd2c29", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316270, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json deleted file mode 100644 index 11bf9a27..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316290.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402676" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", - "nonce": "0x108", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402676" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", - "nonce": "0x109", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x10a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x10b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[100, 100]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54d05", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x10c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x11204c9", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", - "transactionIndex": "0x85", - "logIndex": "0xe6", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x91ef67d667e3825463f242847c8a29740c4bad92a62e943fa09a8aabd4f67373", - "transactionIndex": "0x85", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x671d510", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1127caf", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf474", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", - "transactionIndex": "0x86", - "logIndex": "0xe7", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x32016686a2bb8503e18a94e93eb9264df677e5bd072592c07d6a75984aea2320", - "transactionIndex": "0x86", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x671d510", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x112e4d6", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", - "transactionIndex": "0x87", - "logIndex": "0xe8", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xab6cb20ae4e041e7964f1d82914affb954f38309b15c2ea5f24f02137a83c074", - "transactionIndex": "0x87", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x671d510", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1134cfd", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", - "transactionIndex": "0x88", - "logIndex": "0xe9", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x31d44c6cd1b1aa4994319ed53ecba9ababa148376c092595d201bb5ad4ea39c5", - "transactionIndex": "0x88", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x671d510", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x116ecde", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000009184e729741", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xea", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000009184e729741", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xeb", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000021d54cc8ff8b000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xec", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000064", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xed", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xee", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000064", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xef", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "blockTimestamp": "0x67d9a300", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "logIndex": "0xf0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe9280d6ac0801ed6d71fb422c81c9dfbaaa6912507fbf733e78672a057ed514d", - "transactionIndex": "0x89", - "blockHash": "0xbf86c9ad2a3164d5088fb4bbedc29fd2bbac497d9a01eacdf62ab97943cac501", - "blockNumber": "0x78fe2c", - "gasUsed": "0x39fe1", - "effectiveGasPrice": "0x671d510", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316290, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json deleted file mode 100644 index bf3e1bb8..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316315.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402688" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", - "nonce": "0x10d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402688" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", - "nonce": "0x10e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x10f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x110", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[100, 100]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x501a7", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x111", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xf1e573", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", - "transactionIndex": "0x96", - "logIndex": "0xf6", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xcd78f9d3272800fb834b253a9991b6e93e2cadbb6d52fe439b83250b3d52a712", - "transactionIndex": "0x96", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x63ee1fa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf25d59", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf480", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", - "transactionIndex": "0x97", - "logIndex": "0xf7", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x43ae3f83569d2e51bf248c58f0d62c34f84f036d8fbd220968fa050bdb727f6c", - "transactionIndex": "0x97", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x63ee1fa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf2c580", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", - "transactionIndex": "0x98", - "logIndex": "0xf8", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x2603f7b65245d327d3a34c86066ab9429a11113e1e37ed7f7844295c49aa1aee", - "transactionIndex": "0x98", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x63ee1fa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf32da7", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", - "transactionIndex": "0x99", - "logIndex": "0xf9", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x3120d828928e9a02a4afef6e95875003be57f06facdfe856fdc89603646d2db7", - "transactionIndex": "0x99", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x63ee1fa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xf6cd8c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000009184e72973e", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xfa", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000009184e72973e", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xfb", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000002aed9b3b96c9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xfc", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000064", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xfd", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe27", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xfe", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000064", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0xff", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe27", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "blockTimestamp": "0x67d9a318", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "logIndex": "0x100", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x1b218e86b1fd94d6ef3d9fcbba13a0476c8dfb6ad080e693c2d66a770ac890a4", - "transactionIndex": "0x9a", - "blockHash": "0x1aaa0b7539e17448f3b475048b69151ab87b8e42acb04f2bc41ec182e19f4cd8", - "blockNumber": "0x78fe2e", - "gasUsed": "0x39fe5", - "effectiveGasPrice": "0x63ee1fa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316315, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json deleted file mode 100644 index 34028ca6..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316353.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402724" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", - "nonce": "0x112", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402724" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", - "nonce": "0x113", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x114", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x115", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[200, 200]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x54e07", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x116", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa0b785", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", - "transactionIndex": "0x64", - "logIndex": "0xa8", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xa53f96b48b10dc7513ab16544b24ed7d85492b99dc406ff58b439c7c88deec6f", - "transactionIndex": "0x64", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6759c8c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xa12f6b", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4a4", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", - "transactionIndex": "0x65", - "logIndex": "0xa9", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xee8acdb9b87d7503d97df284d43337ace2d10ed5c497c3f4e52cca7a39f95661", - "transactionIndex": "0x65", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6759c8c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xa19792", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", - "transactionIndex": "0x66", - "logIndex": "0xaa", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xb34b1c67013b20dd6cc80e12522479b12a624f9316bfc356c3b16bf468fb6037", - "transactionIndex": "0x66", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6759c8c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xa1ffb9", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", - "transactionIndex": "0x67", - "logIndex": "0xab", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xf75da7096d28ae614c9b462e8ac527999723e587b43c78458db2413c5c4b2d3a", - "transactionIndex": "0x67", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6759c8c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xa5a04a", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000012309ce52e80", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000012309ce52e80", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000003d1e3820c549000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000c8", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xaf", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5f", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xb0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000c8", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5f", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "blockTimestamp": "0x67d9a33c", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "logIndex": "0xb2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd07a3f950a6dffc074b9ad689cc4fbec2107d97344f11cb5a43db6551f54eb2a", - "transactionIndex": "0x68", - "blockHash": "0x246db85b61dde32de152c7a533efb0aa1283efaf0a5f5d9b81d3fcf192998953", - "blockNumber": "0x78fe31", - "gasUsed": "0x3a091", - "effectiveGasPrice": "0x6759c8c", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316353, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json deleted file mode 100644 index 4ec894ca..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316372.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402748" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", - "nonce": "0x117", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402748" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", - "nonce": "0x118", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x119", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x11a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[300, 300]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5199d", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x11b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb90304", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", - "transactionIndex": "0x8f", - "logIndex": "0xd4", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x573c22edd5963624e4d69dcbe54744c2a8a2d687b4dde493873d8ed1e89a0ae0", - "transactionIndex": "0x8f", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x62c1f90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb97aea", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4bc", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", - "transactionIndex": "0x90", - "logIndex": "0xd5", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x40813b5c70de162749fad4e960ee723a2e489b112cb4811f75f20f438b227924", - "transactionIndex": "0x90", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x62c1f90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xb9e311", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", - "transactionIndex": "0x91", - "logIndex": "0xd6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x75fd74da9f9224d01b6f424b25501d54c2e79debb173f2c9037833fca2e5b064", - "transactionIndex": "0x91", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x62c1f90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xba4b38", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", - "transactionIndex": "0x92", - "logIndex": "0xd7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x75f481a96a32e13e1173aac67f4566707118464b420e5d8abee1ad7ec1296385", - "transactionIndex": "0x92", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x62c1f90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xbdfc77", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000001b48eb57c5b9", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xd8", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000001b48eb57c5b9", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xd9", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000586723788b02000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xda", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000012c", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xdb", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc33", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xdc", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x000000000000000000000000000000000000000000000000000000000000012c", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xdd", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc33", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "blockTimestamp": "0x67d9a354", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "logIndex": "0xde", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x5f8786b9cf7402409f3a5b804a813b1d86f1bdce072431251b2d13012ee5f7ac", - "transactionIndex": "0x93", - "blockHash": "0xd5a932958c069c1291ecf15dba32b99f3af46ff9f881b109a5b7d775d9e85202", - "blockNumber": "0x78fe33", - "gasUsed": "0x3b13f", - "effectiveGasPrice": "0x62c1f90", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316372, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json deleted file mode 100644 index 18e29498..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316411.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402796" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", - "nonce": "0x11c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402796" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", - "nonce": "0x11d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x11e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x11f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[400, 400]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x565a8", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x120", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xea001a", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", - "transactionIndex": "0x70", - "logIndex": "0x82", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x2fa29589b86dd0bd5970b0e38ffe671701afbf0098f2f65cf02d8413461b4955", - "transactionIndex": "0x70", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x647b231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xea7800", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4ec", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", - "transactionIndex": "0x71", - "logIndex": "0x83", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x74ad548751867ee9f86de74dcda04dbc18ce30ee3ae0b9ab0add3aa2b2a9b8f4", - "transactionIndex": "0x71", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x647b231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xeae027", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", - "transactionIndex": "0x72", - "logIndex": "0x84", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x7d437da933fd1f343fc83d00f7fcf92f6f851afb41b17eba98e01d720efed66e", - "transactionIndex": "0x72", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x647b231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xeb484e", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", - "transactionIndex": "0x73", - "logIndex": "0x85", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0xb53526915b978ad418b3c693d91518852e0ec57b4608a44573af200f94dc3fef", - "transactionIndex": "0x73", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x647b231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xeef907", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000246139ca5cf5", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x86", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000000246139ca5cf5", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x87", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000007cc85d42e7f7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000190", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa3", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000190", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa3", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "blockTimestamp": "0x67d9a378", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "logIndex": "0x8c", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc1c7faa55d2fbd1ec341181060a787e48e1683682c48dc8ac5c1a285c729d424", - "transactionIndex": "0x74", - "blockHash": "0x0dfb656cea295b75fdcbde1e27444169ee8962cefaede3ac7a08ceabb1d57c3a", - "blockNumber": "0x78fe36", - "gasUsed": "0x3b0b9", - "effectiveGasPrice": "0x647b231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316411, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json deleted file mode 100644 index 62994924..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316439.json +++ /dev/null @@ -1,394 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402808" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", - "nonce": "0x121", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742402808" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", - "nonce": "0x122", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x123", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0x8fdb", - "value": "0x0", - "input": "0x095ea7b30000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x124", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[500, 500]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x56463", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x125", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x159a447", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", - "transactionIndex": "0x9e", - "logIndex": "0xf0", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x9cc28d2a4141700438feed2acd8b928b197948d8c645e4a93568ddadbebf0d77", - "transactionIndex": "0x9e", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6625792", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x15a1c2d", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067daf4f8", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", - "transactionIndex": "0x9f", - "logIndex": "0xf1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x65efc5584d2bbeb12e78b43efe314cb2d5b03c82eb55f32b2f221c06472371b2", - "transactionIndex": "0x9f", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x6625792", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x15a8454", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", - "transactionIndex": "0xa0", - "logIndex": "0xf2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x1b616ebeb794a90bb4ce53a8c4a2b638e36744fe7d6ce96816dd393a26021087", - "transactionIndex": "0xa0", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6625792", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x15aec7b", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", - "transactionIndex": "0xa1", - "logIndex": "0xf3", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000200000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000002000000", - "type": "0x2", - "transactionHash": "0x334e8b3f87581d23b2f5fc015a01b3f44753f89460c75fe0dfd400de1e6244cb", - "transactionIndex": "0xa1", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "gasUsed": "0x6827", - "effectiveGasPrice": "0x6625792", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x15e9c56", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000002d79883cf42f", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf4", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000002d79883cf42f", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf5", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000000aa41e57fdc26000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf6", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000001f4", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf7", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8af", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf8", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000001f4", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xf9", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8af", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "blockTimestamp": "0x67d9a390", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "logIndex": "0xfa", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x1e8fa9a0a04048d10cd89fb3fa02394095321a561bbde6aa613874231ed48cdf", - "transactionIndex": "0xa2", - "blockHash": "0x0484f554136fa3eda09e268023342883d0d84c48a8e837320b1c28ea35770b35", - "blockNumber": "0x78fe38", - "gasUsed": "0x3afdb", - "effectiveGasPrice": "0x6625792", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316439, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json deleted file mode 100644 index 6874ae4a..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316472.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1000, 1000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x564d8", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x126", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xab3988", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000005af31079e862", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x78", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000005af31079e862", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x79", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000010534f5f9c488000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x7a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x7b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c7", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x7c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x7d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c7", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "blockTimestamp": "0x67d9a3b4", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "logIndex": "0x7e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa554fcd929851254732aba9857a7fdfec30e49d7a890a6a975861cff095254e3", - "transactionIndex": "0x74", - "blockHash": "0xeafe8899d04201b3c49d3ce2e5eb569ef2baae5b15f119f70698c83b4e394532", - "blockNumber": "0x78fe3b", - "gasUsed": "0x3b02b", - "effectiveGasPrice": "0x6366b28", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316472, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json deleted file mode 100644 index e6c04921..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316495.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1000, 1000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x516c4", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x127", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1656088", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000005af31079e855", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x118", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000005af31079e855", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x119", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000160280673acdd000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x11a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x11b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x11c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x11d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0df", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "blockTimestamp": "0x67d9a3cc", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "logIndex": "0x11e", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x613b9ced4cc5b175f1005569841d4ac0c6f7d0a1fa55a61ca1a1d7f71df1a86c", - "transactionIndex": "0xc1", - "blockHash": "0xc0e63f501053b75b0609dd05054ce95ba3d020d21995ea1c562e55faab53cf3e", - "blockNumber": "0x78fe3d", - "gasUsed": "0x3af2f", - "effectiveGasPrice": "0x5e30baa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316495, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json deleted file mode 100644 index 2611e899..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316522.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[3000, 3000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x563e2", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x128", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xbcb1b1", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000110d9316db916", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x65", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000110d9316db916", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x66", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000002710137e165f3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x67", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x68", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x69", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x6a", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe527", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "blockTimestamp": "0x67d9a3e4", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "logIndex": "0x6b", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x5444ea53c152dab9ee95ddce57a128ceb38f913a2598b3aa98cf07019db33052", - "transactionIndex": "0x73", - "blockHash": "0x799e04c648f03df89e0e38386d557394eb70d1f788b4eeba5dfebd66fff78137", - "blockNumber": "0x78fe3f", - "gasUsed": "0x3af83", - "effectiveGasPrice": "0x5ebd2c4", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316522, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json deleted file mode 100644 index 0587f56d..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316558.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[3000, 3000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5167f", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x129", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x2112f94", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000110d9316db8f8", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x129", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000110d9316db8f8", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12a", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000381da694f1eeb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12b", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12c", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96f", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12d", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000bb8", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12e", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96f", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "blockTimestamp": "0x67d9a408", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "logIndex": "0x12f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa38118bbb128fbea59a44b03fd39236775dd35a12497ef49bbdb3dfb284d5e87", - "transactionIndex": "0xca", - "blockHash": "0x244e2ddd4a8bad9081cb00bb4672aa709c71e785e0e831d46e6361d37d745f6f", - "blockNumber": "0x78fe42", - "gasUsed": "0x3aefd", - "effectiveGasPrice": "0x5204466", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316558, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json deleted file mode 100644 index ee77b5fa..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316590.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[4000, 4000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5615e", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x104c41b", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000016bcc41e7a137", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000016bcc41e7a137", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000004eda6ab36c022000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000fa0", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb4", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9cf", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000fa0", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb6", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9cf", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "blockTimestamp": "0x67d9a42c", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "logIndex": "0xb7", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x81a672cccb0a34a4e9bd53faf25e8b4f6717e0f7605a1b5f92c9dc39ea915743", - "transactionIndex": "0x75", - "blockHash": "0x8f318ab6e0903e6baad902f32dd2fb6b4b337d56ed847b9c198f2514cfa27029", - "blockNumber": "0x78fe45", - "gasUsed": "0x3adcb", - "effectiveGasPrice": "0x6266a8f", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316590, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json deleted file mode 100644 index f4fa2777..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316620.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[7000, 7000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x562d5", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x19a7398", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000027ca573555a15", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x81", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000027ca573555a15", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x82", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000076a4c1e8c1a37000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000001b58000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x83", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000001b58", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffae77", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000001b58", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x86", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffae77", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "blockTimestamp": "0x67d9a444", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "logIndex": "0x87", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd5836d817cf1ff0b678665a17e0a83ecd9a03aef3cd131d109acb9b8e3c205d3", - "transactionIndex": "0x65", - "blockHash": "0xc7f5fbe9ca9ab3cfad3fdbf2021747ebbdeb899dab204bbefc03e7a802233fe2", - "blockNumber": "0x78fe47", - "gasUsed": "0x3aecb", - "effectiveGasPrice": "0x782a437", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316620, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json deleted file mode 100644 index 0cb5b930..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316654.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[10000, 10000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x56254", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x13aab4c", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c312cd", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x8d", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c312cd", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x8e", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000af7cac34f2d04000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x8f", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x90", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8767", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x91", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x92", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8767", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "blockTimestamp": "0x67d9a468", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "logIndex": "0x93", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x24e3c36bc62097212b65f23a5b50520fe456205e75b565d0806e574412ea33ce", - "transactionIndex": "0x78", - "blockHash": "0x1ae4a085d2759b7c840d42798db1d45ec07f2b343b2e4ca83fcd19d660ab89e2", - "blockNumber": "0x78fe4a", - "gasUsed": "0x3ae73", - "effectiveGasPrice": "0x80a916a", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316654, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json deleted file mode 100644 index 66a7bfd4..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316675.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[10000, 10000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51772", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe90258", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c31278", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000038d7ea4c31278", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000000e854968123f7c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6057", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000002710", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xaf", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6057", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "blockTimestamp": "0x67d9a480", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "logIndex": "0xb0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x9b061716aa0d315a557a7b302ffe902f8b00968620c144ccf7dc80330cc0554d", - "transactionIndex": "0x67", - "blockHash": "0x462b0a611d953721618a0480390a713c634df235640388702f80ab0e51f1cc55", - "blockNumber": "0x78fe4c", - "gasUsed": "0x3afad", - "effectiveGasPrice": "0x7fc4e50", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316675, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json deleted file mode 100644 index 0fa76adb..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316702.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[20000, 20000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x56463", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa5a6c4", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000071afd498624fa", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0x9c", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000071afd498624fa", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0x9d", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000015a046b1986476000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000004e200000000000000000000000000000000000000000000000000000000000004e20000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0x9e", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000004e20", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0x9f", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1237", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0xa0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000004e20", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0xa1", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1237", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "blockTimestamp": "0x67d9a498", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "logIndex": "0xa2", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc2d3a04cef8047eb1530967c26bc02e5fb2c6a1b1a46372394ad649f27ba8acc", - "transactionIndex": "0x88", - "blockHash": "0x5ea61521093b6fb593528af0ee24d15339613e5b9448e4c123aa283de9d8877d", - "blockNumber": "0x78fe4e", - "gasUsed": "0x3afdb", - "effectiveGasPrice": "0x7cada69", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316702, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json deleted file mode 100644 index 458d0b70..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316734.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[30000, 30000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x515d1", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000753000000000000000000000000000000000000000000000000000000000000075300000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x12f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb09dfb", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000aa87bee4936ff", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x6d", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000000aa87bee4936ff", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x6e", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000002048c29fe19b75000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000075300000000000000000000000000000000000000000000000000000000000007530000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x6f", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000007530", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x70", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9d07", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x71", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000007530", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x72", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9d07", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "blockTimestamp": "0x67d9a4bc", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "logIndex": "0x73", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x9f0040be922193dc678fd11d80401583423b3da285ae70a9de3b45595d18032e", - "transactionIndex": "0x77", - "blockHash": "0xd553e6345c2d0ba9cf239457507e0d5e5a564ece28ed8695820575a78ccde1c5", - "blockNumber": "0x78fe51", - "gasUsed": "0x3ae7f", - "effectiveGasPrice": "0x7284529", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316734, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json deleted file mode 100644 index 96677074..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316761.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[70000, 70000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51627", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001117000000000000000000000000000000000000000000000000000000000000111700000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x130", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa7b780", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000018de768155800f", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x7b", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000018de768155800f", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x7c", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000039273921371b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000111700000000000000000000000000000000000000000000000000000000000011170000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x7d", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000011170", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x7e", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8b97", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x7f", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000011170", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x80", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8b97", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "blockTimestamp": "0x67d9a4d4", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "logIndex": "0x81", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xbba74672b0381629c8fdf003de90502798a294f24fddb0a8ab8b6e39c40375b9", - "transactionIndex": "0x89", - "blockHash": "0x2e30f07b5c3e921daaf53657074f5fa714abc8df78167a38c635a133fcb1de56", - "blockNumber": "0x78fe53", - "gasUsed": "0x3aebd", - "effectiveGasPrice": "0x6e5b080", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316761, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json deleted file mode 100644 index ab0c30d6..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316781.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[100000, 100000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5170f", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x131", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x100c039", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb4da", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xd6", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb4da", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xd7", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000005cae2b90d5d05e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xd8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xd9", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc04f7", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xda", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xdb", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc04f7", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "blockTimestamp": "0x67d9a4ec", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "logIndex": "0xdc", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x7dddeec9c9ad3197f5fa58169a36a07bd5b187341e7906a859b6ea9876a63c2a", - "transactionIndex": "0x89", - "blockHash": "0x8e84bb0f54e39001c0863379b8a7edd14b7d76ab9c983c571dd1a929020fd5de", - "blockNumber": "0x78fe55", - "gasUsed": "0x3af65", - "effectiveGasPrice": "0x6f1ca12", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316781, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json deleted file mode 100644 index ac555929..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316806.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[100000, 100000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51579", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x132", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1a969a8", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb1ae", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x180", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000002386f26f9eb1ae", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x181", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000080351e0074820c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x182", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x183", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e57", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x184", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000186a0", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x185", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e57", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "blockTimestamp": "0x67d9a504", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "logIndex": "0x186", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc07939ceab790a35d925719c4d34a6b9956a3f1d741a0b8d6601f9eaa1408067", - "transactionIndex": "0xd9", - "blockHash": "0x88e2d87101ceeb4202d00a822734f38106add438470d74a55d61a0731d88e72b", - "blockNumber": "0x78fe57", - "gasUsed": "0x3ae3f", - "effectiveGasPrice": "0x643b080", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316806, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json deleted file mode 100644 index e1628618..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316832.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[200000, 200000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x5608c", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x133", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x7afd4f", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000470de4df3d62c2", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x80", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000000470de4df3d62c2", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x81", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000000c74302dfb1e4ce000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000030d400000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x82", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000030d40", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x83", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff77117", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x84", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000030d40", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x85", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff77117", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "blockTimestamp": "0x67d9a51c", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "logIndex": "0x86", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xcaf6d79adf6b5d8a30f17f172efe740981fd96707eb7d52140562ed09cd7f36b", - "transactionIndex": "0x60", - "blockHash": "0xef502eddcdd2e700c6b97d874ca8974176c4b1138475cb81cd57de62b60af955", - "blockNumber": "0x78fe59", - "gasUsed": "0x3ad3b", - "effectiveGasPrice": "0x70c90bf", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316832, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json deleted file mode 100644 index 86d00282..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316857.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[400000, 400000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50e2b", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x134", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x7e6d7f", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000008e1bc9be7ac1c4", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x87", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000008e1bc9be7ac1c4", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x88", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000001555ecc9e2ca692000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000000000000000000000061a80000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x89", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000061a80", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x8a", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff15697", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000061a80", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff15697", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "blockTimestamp": "0x67d9a534", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "logIndex": "0x8d", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xa8b3bfa8ba2dfc90635b867afc26f98c1c908ccfe6820b0733a6451589ec1c30", - "transactionIndex": "0x6b", - "blockHash": "0x308759e1da8d11230118aabc295299f1a723590225d731681b7a5ba6732731ba", - "blockNumber": "0x78fe5b", - "gasUsed": "0x3a8f5", - "effectiveGasPrice": "0x6b14c52", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316857, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json deleted file mode 100644 index a9f5fa21..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316890.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[800000, 800000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x50de9", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000000c35000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x135", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xd148c6", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000011c37937cf5796e", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb0", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000011c37937cf5796e", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb1", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000027196601b222000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000c350000000000000000000000000000000000000000000000000000000000000c3500000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb2", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000c3500", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb3", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe52197", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb4", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000c3500", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb5", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe52197", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "blockTimestamp": "0x67d9a558", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "logIndex": "0xb6", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xca9e71ec541d590a89517e1537e0fc3f42dcafe4a8537c3ef85300690e157bec", - "transactionIndex": "0x80", - "blockHash": "0x549af45a699aa1dce3e972948d95bd55e2f4865981f7e7959bf2c47164897f2a", - "blockNumber": "0x78fe5e", - "gasUsed": "0x3a8c5", - "effectiveGasPrice": "0x6354a76", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316890, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json deleted file mode 100644 index d6106a4c..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316918.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[1000000, 1000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51149", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x136", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xa00fca", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000016345785c32bf28", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x71", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000000016345785c32bf28", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x72", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000003d4dbd87754df28000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x73", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x74", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5df57", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x75", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x76", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd5df57", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "blockTimestamp": "0x67d9a570", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "logIndex": "0x77", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb5d350c1121e162bf9c3f5ba452d582c0fc86b39b86b8c29e2405e7be6744700", - "transactionIndex": "0x52", - "blockHash": "0x1d913a566c6b1497785c17b101f17600f89a685f65508341c5c405f48a000245", - "blockNumber": "0x78fe60", - "gasUsed": "0x3ab37", - "effectiveGasPrice": "0x6c09393", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316918, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json deleted file mode 100644 index c0ed6b76..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316955.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[3000000, 3000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51324", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000002dc6c00000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x137", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc312d5", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000429d069149835f6", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x94", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000429d069149835f6", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x95", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000007feac418bed151e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002dc6c000000000000000000000000000000000000000000000000000000000002dc6c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x96", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000002dc6c0", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x97", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa81897", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x98", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000002dc6c0", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x99", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa81897", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "blockTimestamp": "0x67d9a594", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "logIndex": "0x9a", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x5547cc5527059c500cf7d570a4f8893d6a57ceb422e5c2d270514374f68d20a8", - "transactionIndex": "0x7a", - "blockHash": "0x1539adc779b0e96956fa792e8672deaa88e1d94503e66c779bddbcdcbe29b2b1", - "blockNumber": "0x78fe63", - "gasUsed": "0x3ac8f", - "effectiveGasPrice": "0x5c88534", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316955, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json deleted file mode 100644 index 29cf6933..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742316975.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[7000000, 7000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x51149", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc000000000000000000000000000000000000000000000000000000000006acfc00000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x138", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xdbe1c7", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000009b6e64a8562c4d8", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000009b6e64a8562c4d8", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000011b5928c114fd9f6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc000000000000000000000000000000000000000000000000000000000006acfc0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000006acfc0", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d48d7", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000006acfc0", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3d48d7", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "blockTimestamp": "0x67d9a5ac", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "logIndex": "0xaf", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xdff6e8d6b4b52b219187ce485ef697a874ea87ae354d92279e485411e58577a2", - "transactionIndex": "0x77", - "blockHash": "0x61e3cbd4ab5613c63afa8666f86bef24781b144a7600699d6f7a8adcc75e126b", - "blockNumber": "0x78fe65", - "gasUsed": "0x3ab37", - "effectiveGasPrice": "0x56597aa", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742316975, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json deleted file mode 100644 index 572fa6b9..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317001.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[10000000, 10000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x55e4c", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x139", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xdcb870", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b399f9eab3", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x8b", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b399f9eab3", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x8c", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000001f96493fab49c4a9000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x8d", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x8e", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffea4b257", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x8f", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x90", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffea4b257", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "blockTimestamp": "0x67d9a5c4", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "logIndex": "0x91", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb5fe3240e008f954213a4678f141bab0516d7eebfb13855b425c34139c89608c", - "transactionIndex": "0x70", - "blockHash": "0x8d2a7c7762e36e476d88db57aef705262fd62467759f0ebda8d9cad180bc3da5", - "blockNumber": "0x78fe67", - "gasUsed": "0x3abb1", - "effectiveGasPrice": "0x521c7a1", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742317001, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json deleted file mode 100644 index d20106b6..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317021.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[30000000, 30000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x56066", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x13a", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x11e9ae4", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000029a2241acdecdb9e", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x105", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000029a2241acdecdb9e", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x106", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x00000000000000000000000000000000000000000000000049386d5a7936a047000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000000001c9c380000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x107", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000001c9c380", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x108", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffcdaeed7", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x109", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000001c9c380", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x10a", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffcdaeed7", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "blockTimestamp": "0x67d9a5dc", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "logIndex": "0x10b", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x81c5b36c35c701db2c44bc365a2160edecef28d86596f97cfe6462b06dcef5fe", - "transactionIndex": "0x87", - "blockHash": "0xf069e0687adf89decb5a4e8196741c3ac31d637cf0245d5c488a2621a9af94a8", - "blockNumber": "0x78fe69", - "gasUsed": "0x3ad21", - "effectiveGasPrice": "0x4fd2a7b", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742317021, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json deleted file mode 100644 index e6d38380..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317060.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[100000000, 100000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x55c26", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x13b", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x986413", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230403bb73e5", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9a", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230403bb73e5", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9b", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000000d3ff905e7cf2142c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9c", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9d", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffff6e50dd7", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9e", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0x9f", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffff6e50dd7", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "blockTimestamp": "0x67d9a600", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3e4b744fc87feada29a51426614e4127c31cb612352e5602cb68f93f62049b1e", - "transactionIndex": "0x7f", - "blockHash": "0x9a747c52a59988b69cb1b95cd1f8ec1cdaaa0d0fc432bf81f5cd3e12875f1bd6", - "blockNumber": "0x78fe6c", - "gasUsed": "0x3aa39", - "effectiveGasPrice": "0x4d26231", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742317060, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json deleted file mode 100644 index 133f1af8..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317081.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[300000000, 300000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x55b5f", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x13c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xbbc385", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000001a055690c0b203496", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x000000000000000000000000000000000000000000000001a055690c0b203496", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xac", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000027454f96a881248c2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000011e1a3000000000000000000000000000000000000000000000000000000000011e1a300000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xad", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000011e1a300", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xae", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5036ad7", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xaf", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000011e1a300", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xb0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5036ad7", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "blockTimestamp": "0x67d9a618", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "logIndex": "0xb1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x4e3b1f245e56fcb3eb86720bf36665ffec163e4c02fe11134881d4489021b1de", - "transactionIndex": "0x93", - "blockHash": "0x791d393968b87a2708bf57de884e819780d67f96e6de3993f9f0080d0d9fb505", - "blockNumber": "0x78fe6e", - "gasUsed": "0x3a9b1", - "effectiveGasPrice": "0x46413c2", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742317081, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json deleted file mode 100644 index 6dd346ef..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742317121.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "addLiquidityUnbalanced(address,uint256[],uint256,bool,bytes)", - "arguments": [ - "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "[600000000, 600000000]", - "0", - "false", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x511b8", - "value": "0x0", - "input": "0xc08bc851000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x13d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x1ac18ff", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000340aad21816125792", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x14f", - "removed": false - }, - { - "address": "0xA3a6398f3B29b84a6657A1f4bcE5c90F38462bf7", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x00000000000000000000000000000000000000000000000340aad21816125792", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x150", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x000000000000000000000000a3a6398f3b29b84a6657a1f4bce5c90f38462bf7", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x000000000000000000000000000000000000000000000005b4ffcb829e24a054000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000023c346000000000000000000000000000000000000000000000000000000000023c34600000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x151", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000023c34600", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x152", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffc14024d7", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x153", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000023c34600", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x154", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffc14024d7", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "blockTimestamp": "0x67d9a63c", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "logIndex": "0x155", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008104000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000000000000000000000000000040000000001000000000000010000080000020000800180000000044000000000000000000000000000000000000000000000000002000000000000000000000000000004200000000000000000800060080010000000000000002000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x8ad76a3096d37b5ebe3075c7e63606da027aa7ff96e485c61f0d27a91f2d6e38", - "transactionIndex": "0xd9", - "blockHash": "0xb0f156253dc0c6f3c53e8a4810e1ca9ab2c4b6e3ffb5feeaa4a803ef4d6f9a90", - "blockNumber": "0x78fe71", - "gasUsed": "0x3ab87", - "effectiveGasPrice": "0x3eb2001", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742317121, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json deleted file mode 100644 index 33e99ef5..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1742404217.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x144", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x145", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742490588" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "nonce": "0x146", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1742490588" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "nonce": "0x147", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[100000000, 100000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x62db1", - "value": "0x0", - "input": "0x026b3d950000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x148", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xe2f197", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", - "transactionIndex": "0x7d", - "logIndex": "0xd4", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xc8053c5b4a7d2e965780a65ccbaef279593aad1d3350e93d82d19ead0279c0ac", - "transactionIndex": "0x7d", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x42edd835", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe36472", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", - "transactionIndex": "0x7e", - "logIndex": "0xd5", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x52bf9238f880890bfe55540923c79dc3e46484eaa6d1e5cd11e5dba488bf1cd7", - "transactionIndex": "0x7e", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x42edd835", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe3dc58", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", - "transactionIndex": "0x7f", - "logIndex": "0xd6", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xf80e94946e3e478e32d4f29a49a0202ca3fa7ddd5c75bd60370f76afead7972d", - "transactionIndex": "0x7f", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x42edd835", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe4543e", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067dc4bdc", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", - "transactionIndex": "0x80", - "logIndex": "0xd7", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x1cfd8e6f0e56adc727c144b2d6cea0dde5a80c804195109eb0aa8a1cf1dec228", - "transactionIndex": "0x80", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x42edd835", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xe8cd5d", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xd8", - "removed": false - }, - { - "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xd9", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xda", - "removed": false - }, - { - "address": "0x2E629cd9061E2B5214B6CFc8d001DEB726275Eb0", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489d5b06a", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdb", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000008ac7230489e4f2aa000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdc", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000002e629cd9061e2b5214b6cfc8d001deb726275eb0" - ], - "data": "0x", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdd", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xde", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xdf", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xe0", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "blockTimestamp": "0x67dafa74", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "logIndex": "0xe1", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002010000000000000000010000000000000000000000000800000000000000000240000802000000000000000004008004000000000000000040800000008000000000000000000020000000000000000000800000001000000000000100010000000000000080000000000000000000000040000000000000000000000110000004000020000c00180000000044000000000000000000020000000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x518d56e59798ef32a234d434edb49f55e0ea5fb022d2a8b85e1734b3b299d9a1", - "transactionIndex": "0x81", - "blockHash": "0x58d80c12d6cb92855c9aace1140427b35557c38c17b5fdaaebf296855a4625fa", - "blockNumber": "0x7919df", - "gasUsed": "0x4791f", - "effectiveGasPrice": "0x42edd835", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1742404217, - "chain": 11155111, - "commit": "c5d8f79" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json deleted file mode 100644 index f5dbe8c1..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-1743757912.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x15c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x15d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743844284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "nonce": "0x15e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743844284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "nonce": "0x15f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d950000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa8400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x160", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc60531", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionIndex": "0x8a", - "logIndex": "0x9f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionIndex": "0x8a", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc6780c", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionIndex": "0x8b", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionIndex": "0x8b", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc6eff2", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionIndex": "0x8c", - "logIndex": "0xa1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionIndex": "0x8c", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc767d8", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionIndex": "0x8d", - "logIndex": "0xa2", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionIndex": "0x8d", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcbe304", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa3", - "removed": false - }, - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xac", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008004000000800000000040800000008000000000000000800020000000000000000000800000001000000000000100010000000000000000800400000000000000000040000000000000000000000010000000000020000c00180000000044000000040000000000000002000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743757912, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json b/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json deleted file mode 100644 index f5dbe8c1..00000000 --- a/pkg/pool-quantamm/broadcast/pool_checks.sol/11155111/run-latest.json +++ /dev/null @@ -1,443 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x15c", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "function": "approve(address,uint256)", - "arguments": [ - "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "gas": "0xa7f9", - "value": "0x0", - "input": "0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "nonce": "0x15d", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x29f2D40B0605204364af54EC677bD022dA425d03", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743844284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000029f2d40b0605204364af54ec677bd022da425d030000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "nonce": "0x15e", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "function": "approve(address,address,uint160,uint48)", - "arguments": [ - "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "0x0BF61f706105EA44694f2e92986bD01C39930280", - "1461501637330902918203684832716283019655932542975", - "1743844284" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "gas": "0xa59b", - "value": "0x0", - "input": "0x87517c4500000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "nonce": "0x15f", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "function": "initialize(address,address[],uint256[],uint256,bool,bytes)", - "arguments": [ - "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "[0x29f2D40B0605204364af54EC677bD022dA425d03, 0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8]", - "[10000000, 10000000]", - "0", - "true", - "0x" - ], - "transaction": { - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "gas": "0x63087", - "value": "0x0", - "input": "0x026b3d950000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa8400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000200000000000000000000000029f2d40b0605204364af54ec677bd022da425d0300000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000000", - "nonce": "0x160", - "chainId": "0xaa36a7" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xc60531", - "logs": [ - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionIndex": "0x8a", - "logIndex": "0x9f", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000008000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb91af4aa357135cf072622987915a7a0abc0aaf2de3d414ad5b0b3341d03990e", - "transactionIndex": "0x8a", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc6780c", - "logs": [ - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionIndex": "0x8b", - "logIndex": "0xa0", - "removed": false - } - ], - "logsBloom": "0x00000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd4f48af0009d1a1a34f5b2bb7030565722e03d05cc8f9f8f7b59065513a3805c", - "transactionIndex": "0x8b", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x72db", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc6eff2", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000029f2d40b0605204364af54ec677bd022da425d03", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionIndex": "0x8c", - "logIndex": "0xa1", - "removed": false - } - ], - "logsBloom": "0x00010000000000010000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000004000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0x3edfed2b3f3802ac344ab41180cf4909594231874fd040af34320ad1d01e61ed", - "transactionIndex": "0x8c", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xc767d8", - "logs": [ - { - "address": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "topics": [ - "0xda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x00000000000000000000000094a9d9ac8a22534e3faca9f4e7f2e2cf85d5e4c8", - "0x0000000000000000000000000bf61f706105ea44694f2e92986bd01c39930280" - ], - "data": "0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000067f0f3bc", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionIndex": "0x8d", - "logIndex": "0xa2", - "removed": false - } - ], - "logsBloom": "0x00010000000000010200000000000000000000000004000000000000000000000000000000000000000100000000000000000000000000080000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000020040000000000000000000000000000000000000000000000000000000000000000000000002000400", - "type": "0x2", - "transactionHash": "0xac23c00b8180a32847f9891c0415825df6c9166a689db16647733108c62561f5", - "transactionIndex": "0x8d", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x77e6", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x000000000022D473030F116dDEE9F6B43aC78BA3", - "contractAddress": null - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xcbe304", - "logs": [ - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa3", - "removed": false - }, - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000f4240", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa4", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa5", - "removed": false - }, - { - "address": "0x5a424180eeBc7A02a1f329d05651D541Bd22fa84", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7546f98", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa6", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xa26a52d8d53702bba7f137907b8e1f99ff87f6d450144270ca25e72481cca871", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a763b1d8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa7", - "removed": false - }, - { - "address": "0xbA1333333333a1BA1108E8412f11850A5C319bA9", - "topics": [ - "0xcad8c9d32507393b6508ca4a888b81979919b477510585bde8488f153072d6f3", - "0x0000000000000000000000005a424180eebc7a02a1f329d05651d541bd22fa84" - ], - "data": "0x", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa8", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xa9", - "removed": false - }, - { - "address": "0x29f2D40B0605204364af54EC677bD022dA425d03", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xaa", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000ba1333333333a1ba1108e8412f11850a5c319ba9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000989680", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xab", - "removed": false - }, - { - "address": "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8", - "topics": [ - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000012395366299c28492682f7853424554df0b81b38", - "0x000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3" - ], - "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "blockTimestamp": "0x67efa254", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "logIndex": "0xac", - "removed": false - } - ], - "logsBloom": "0x00000000000000010040000000000000000080000000400000004000002000000000000000000000000000000000000000000000800000000000000000240000802000000000000000004008004000000800000000040800000008000000000000000800020000000000000000000800000001000000000000100010000000000000000800400000000000000000040000000000000000000000010000000000020000c00180000000044000000040000000000000002000000000000000000000000002000000000000000000000000000000200000000000000000800060000010000000000000002000000100000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x183c18ea672e187d2747158d83399bdcbdee6bdc3ba03a60a87a2a37fd05a7ab", - "transactionIndex": "0x8e", - "blockHash": "0x73bfa8346511bf1979cafab189ff392d3edb13bebd9d492dc817aec5b574372d", - "blockNumber": "0x7acd76", - "gasUsed": "0x47b2c", - "effectiveGasPrice": "0x487929a6", - "from": "0x12395366299C28492682f7853424554df0b81B38", - "to": "0x0BF61f706105EA44694f2e92986bD01C39930280", - "contractAddress": null - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1743757912, - "chain": 11155111, - "commit": "53ca75c" -} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol index ba14e671..0dffa78f 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol @@ -31,7 +31,8 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2).setApprovedActionsForPool(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, uint256(19)); + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).setApprovedActionsForPool(0x6663545aF63bC3268785Cf859f0608506759EBe8 +, uint256(19)); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol new file mode 100644 index 00000000..25683607 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +interface IWETH { + function deposit() external payable; +} + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + IWETH(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9).deposit{value: 5000000000000000000}(); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index c44f8c7d..9ecfb5d4 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -33,14 +33,64 @@ contract Deploy is Script { vm.startBroadcast(); } - address pool = 0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087; - address rule = 0x2B311426f1bFbC69a526162acC308e13750bB61A; - address updateWeightRunnerAddress = 0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2; + address pool = 0x6663545aF63bC3268785Cf859f0608506759EBe8 +; + address rule = 0xfA9d23F4dd92F1C4fEB330848906d0d4C386EbF2; + address updateWeightRunnerAddress = 0x26570ad4CC61eA3E944B1c4660416E45796D44b3; IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool( pool ).getQuantAMMWeightedPoolDynamicData(); + console.log("Total Supply"); + console.logUint(weights.totalSupply); + + console.log("Is Pool Initialized"); + console.log(weights.isPoolInitialized); + + console.log("Is Pool Paused"); + console.log(weights.isPoolPaused); + + console.log("Is Pool In Recovery Mode"); + console.log(weights.isPoolInRecoveryMode); + IQuantAMMWeightedPool.QuantAMMWeightedPoolImmutableData memory immutableData = QuantAMMWeightedPool( + pool + ).getQuantAMMWeightedPoolImmutableData(); + + console.log("Oracle Staleness Threshold"); + console.logUint(immutableData.oracleStalenessThreshold); + + console.log("Pool Registry"); + console.logUint(immutableData.poolRegistry); + + console.log("Epsilon Max"); + console.logUint(immutableData.epsilonMax); + + console.log("Absolute Weight Guard Rail"); + console.logUint(immutableData.absoluteWeightGuardRail); + + console.log("Update Interval"); + console.logUint(immutableData.updateInterval); + + console.log("Max Trade Size Ratio"); + console.logUint(immutableData.maxTradeSizeRatio); + + console.log("Tokens"); + for (uint256 i = 0; i < immutableData.tokens.length; i++) { + console.log(address(immutableData.tokens[i])); + } + + console.log("Lambda"); + for (uint256 i = 0; i < immutableData.lambda.length; i++) { + console.logUint(immutableData.lambda[i]); + } + + console.log("Rule Parameters"); + for (uint256 i = 0; i < immutableData.ruleParameters.length; i++) { + for (uint256 j = 0; j < immutableData.ruleParameters[i].length; j++) { + console.logInt(immutableData.ruleParameters[i][j]); + } + } console.log("Balances Live Scaled 18"); for (uint256 i = 0; i < weights.balancesLiveScaled18.length; i++) { console.logInt(int256(weights.balancesLiveScaled18[i])); @@ -62,16 +112,20 @@ contract Deploy is Script { console.log("intermediate state"); - int256[] memory intermediateState = AntiMomentumUpdateRule(rule) - .getIntermediateGradientState(pool, 2); + int256[] memory intermediateState = MomentumUpdateRule(rule) + .getIntermediateGradientState(pool, 4); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); + console.logInt(intermediateState[2]); + console.logInt(intermediateState[3]); - int256[] memory movingAverages = AntiMomentumUpdateRule(rule) - .getMovingAverages(pool, 2); + int256[] memory movingAverages = MomentumUpdateRule(rule) + .getMovingAverages(pool, 4); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); + console.logInt(intermediateState[2]); + console.logInt(intermediateState[3]); console.log("movingAverages"); for (uint256 i = 0; i < movingAverages.length; i++) { @@ -92,6 +146,11 @@ contract Deploy is Script { console.log(oracles[i]); } + console.log("approved permissions"); + uint256 registry = UpdateWeightRunner(updateWeightRunnerAddress) + .getPoolApprovedActions(pool); + console.logUint(registry); + vm.stopBroadcast(); } } diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol new file mode 100644 index 00000000..d626f9db --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + address transaction = 0x6663545aF63bC3268785Cf859f0608506759EBe8 + + cast tx 0x123abc... --rpc-url + vm.stopBroadcast(); + } +} diff --git a/pkg/pool-quantamm/contracts/deployment/disaster-recovery/manual_weight_update.sol b/pkg/pool-quantamm/contracts/deployment/disaster-recovery/manual_weight_update.sol new file mode 100644 index 00000000..090ca75c --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/disaster-recovery/manual_weight_update.sol @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import {Script} from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + address pool = 0x6663545aF63bC3268785Cf859f0608506759EBe8; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + int256[] memory weightsAndMultpliers = new int256[](8); + weightsAndMultpliers[0] = 0.4901884e18; // weight 0.1e18 + weightsAndMultpliers[1] = 0.4898068e18; // weight 0.3e18 + weightsAndMultpliers[2] = 0.0100024e18; // weight 0.5e18 + weightsAndMultpliers[3] = 0.0100024e18; // weight 0.2e18 + weightsAndMultpliers[4] = -3.612855556e13; // multiplier -3.612855556e13 + weightsAndMultpliers[5] = -1.75747037e13; // multiplier -1.75747037e13 + weightsAndMultpliers[6] = 4.537014815e13; // multiplier 4.537014815e13 + weightsAndMultpliers[7] = 1.759237037e13; // multiplier 1.759237037e13 + + uint40 lastInterpolationTimePossible = uint40(block.timestamp) + uint40(10800); // 3 hours + + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3) + .setWeightsManually(weightsAndMultpliers, pool, lastInterpolationTimePossible, 4); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol index 06ab0d70..3e398113 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol @@ -31,16 +31,21 @@ contract Deploy is Script { vm.startBroadcast(); } - int256[] memory newMovingAverages = new int256[](2); + int256[] memory newMovingAverages = new int256[](4); newMovingAverages[0] = 1e18; newMovingAverages[1] = 1e18; + newMovingAverages[2] = 1e18; + newMovingAverages[3] = 1e18; - int256[] memory newParameters = new int256[](2); + int256[] memory newParameters = new int256[](4); newParameters[0] = 1e18; newParameters[1] = 1e18; + newParameters[2] = 1e18; + newParameters[3] = 1e18; - UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2) - .setIntermediateValuesManually(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, newMovingAverages, newParameters, 2); + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3) + .setIntermediateValuesManually(0x6663545aF63bC3268785Cf859f0608506759EBe8 +, newMovingAverages, newParameters, 4); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index a31fdb85..ecdf0cc0 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -31,14 +31,19 @@ contract Deploy is Script { vm.startBroadcast(); } - IERC20[] memory tokenAddresses = new IERC20[](2); - tokenAddresses[1] = IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8); + IERC20[] memory tokenAddresses = new IERC20[](4); tokenAddresses[0] = IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03); + tokenAddresses[1] = IERC20(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9); + tokenAddresses[2] = IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8); + tokenAddresses[3] = IERC20(0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357); IPermit2 permit2 = IPermit2(0x000000000022D473030F116dDEE9F6B43aC78BA3); // Permit2 contract address - IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[2]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[3]).approve(address(permit2), type(uint256).max); + // Approve token 0 using Permit2 permit2.approve( address(tokenAddresses[0]), @@ -55,19 +60,38 @@ contract Deploy is Script { uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[2]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[3]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + - uint256[] memory weights = new uint256[](2); + uint256[] memory weights = new uint256[](4); weights[0] = uint256(10000000); weights[1] = uint256(10000000); + weights[2] = uint256(10000000); + weights[3] = uint256(10000000); - //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), msg.sender, uint256(1)); + //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( - 0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, + 0x6663545aF63bC3268785Cf859f0608506759EBe8 +, tokenAddresses, weights, 0, - true, + false, bytes("") ); diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol new file mode 100644 index 00000000..ed155ce5 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + + IERC20[] memory tokenAddresses = new IERC20[](4); + tokenAddresses[0] = IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03); + tokenAddresses[1] = IERC20(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9); + tokenAddresses[2] = IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8); + tokenAddresses[3] = IERC20(0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357); + + IPermit2 permit2 = IPermit2(0x000000000022D473030F116dDEE9F6B43aC78BA3); // Permit2 contract address + + IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[2]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[3]).approve(address(permit2), type(uint256).max); + + // Approve token 0 using Permit2 + permit2.approve( + address(tokenAddresses[0]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[1]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[2]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + permit2.approve( + address(tokenAddresses[3]), + 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + + uint256[] memory weights = new uint256[](4); + weights[0] = uint256(1000000); + weights[1] = uint256(1000000); + weights[2] = uint256(1000000); + weights[3] = uint256(1000000); + + //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); + //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); + uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( + 0x6663545aF63bC3268785Cf859f0608506759EBe8, + tokenAddresses, + weights, + 0, + false, + bytes("") + ); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol index 34594e64..ac3ba2b0 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol @@ -31,7 +31,8 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2).InitialisePoolLastRunTime(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087, uint40(10)); + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).InitialisePoolLastRunTime(0x6663545aF63bC3268785Cf859f0608506759EBe8 +, uint40(10)); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol new file mode 100644 index 00000000..b963a3a2 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import {Script} from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { + SwapKind, + VaultSwapParams +} from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; + +contract Deploy is Script { + + function run() external { + + + uint256 deployerPrivateKey; + + // Only load the private key if broadcasting (i.e., not dry run) + if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + } else { + // For dry runs, we don't need a private key + vm.startBroadcast(); + } + VaultSwapParams memory params = VaultSwapParams({ + kind: SwapKind.EXACT_IN, + pool: 0x6663545aF63bC3268785Cf859f0608506759EBe8, + tokenIn: IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), // Replace with actual tokenIn address + tokenOut: IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), // Replace with actual tokenOut address + amountGivenRaw: 100, // Replace with the actual amount + limitRaw: 1e18, // Replace with the actual limit + userData: "" + }); + + IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9) + .swap(params); + + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol index 3a1cd74f..be72749c 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol @@ -31,8 +31,9 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xB6b7CCa5E4D3B4DD1a4f52C38f287c7303Db7dA2) - .performUpdate(0xCB78DF4EAd6D9558c19960Cdec71AcA3e37c1087); + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3) + .performUpdate(0x6663545aF63bC3268785Cf859f0608506759EBe8 +); vm.stopBroadcast(); } From 1331d6d6f3871c62fa3de09bb40234074a5d1d0f Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 23 Apr 2025 11:53:39 +0100 Subject: [PATCH 18/64] additional diagnostics --- .../admin-scripts/approve_oracle.sol | 34 +++++++++++++-- .../deployment/diagnostics/pool_check.sol | 16 ++++---- .../deployment/diagnostics/tx_check.sol | 41 ------------------- 3 files changed, 38 insertions(+), 53 deletions(-) delete mode 100644 pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol index 89637afd..8ff8c672 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol @@ -14,6 +14,16 @@ import "../../ChainlinkOracle.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +interface IDelayModifier { + function executeNextTx( + address to, + uint256 value, + bytes calldata data, + uint8 operation + ) external; +} + + contract Deploy is Script { function run() external { uint256 deployerPrivateKey; @@ -27,9 +37,27 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0xdA841aEEE267b4607f8F0F3622e99060D64644EF)); - UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0x809CEbbb376A97D175570b5c71ED2a219ACd6f21)); - UpdateWeightRunner(0xCf70bf72e52c60D4B378F302c3798fdd7247709a).addOracle(OracleWrapper(0xb71a9eeD4Ae116A1a9600F4B1d045F2eb91Ba66A)); + + // replace with your deployed addresses & payload + IDelayModifier delay = IDelayModifier(0x4F824dDe06314a7Aa1091902d17B82c4b519F424); + address target = 0x34932B2670BC4fb110fBe7772f0fC9905269705E; + uint256 value = 0; + bytes memory data = hex"df5dd1a50000000000000000000000006fe415f986b12da4381d7082ca0223a0a49771a9"; + uint8 operation = 0; + + delay.executeNextTx(target, value, data, operation); + + //BTC + //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x6fE415F986b12Da4381d7082CA0223a0a49771A9)); +// + ////ETH + //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x70BE6803cD94EEecA55603C25a550d78D619B037)); +// + ////PAXG + //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x2E24826974Cd23bb851dBdbFD838521c61A530b3)); +// + ////USDC + //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x47eD785C84376F49610b90cea0A88dAe447B7881)); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 9ecfb5d4..020eb922 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -33,10 +33,10 @@ contract Deploy is Script { vm.startBroadcast(); } - address pool = 0x6663545aF63bC3268785Cf859f0608506759EBe8 + address pool = 0x5C427119ad1676d08e8cbaB2BcAEfe9ce334A29c ; - address rule = 0xfA9d23F4dd92F1C4fEB330848906d0d4C386EbF2; - address updateWeightRunnerAddress = 0x26570ad4CC61eA3E944B1c4660416E45796D44b3; + address rule = 0xb7Fe8caBBA9B05f59da643748ba725564aE496C1; + address updateWeightRunnerAddress = 0x4397d0D8dCc24a5A6a007B768a1CFB45bF37267D; IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool( pool @@ -112,20 +112,18 @@ contract Deploy is Script { console.log("intermediate state"); - int256[] memory intermediateState = MomentumUpdateRule(rule) - .getIntermediateGradientState(pool, 4); + int256[] memory intermediateState = PowerChannelUpdateRule(rule) + .getIntermediateGradientState(pool, 3); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); console.logInt(intermediateState[2]); - console.logInt(intermediateState[3]); - int256[] memory movingAverages = MomentumUpdateRule(rule) - .getMovingAverages(pool, 4); + int256[] memory movingAverages = PowerChannelUpdateRule(rule) + .getMovingAverages(pool, 3); console.logInt(intermediateState[0]); console.logInt(intermediateState[1]); console.logInt(intermediateState[2]); - console.logInt(intermediateState[3]); console.log("movingAverages"); for (uint256 i = 0; i < movingAverages.length; i++) { diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol deleted file mode 100644 index d626f9db..00000000 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/tx_check.sol +++ /dev/null @@ -1,41 +0,0 @@ -// SPDX-License-Identifier: BUSL-1.1 -pragma solidity 0.8.26; - -import "forge-std/console.sol"; // Import the console library for logging -import { Script } from "forge-std/Script.sol"; -import "../../rules/AntimomentumUpdateRule.sol"; -import "../../rules/MomentumUpdateRule.sol"; -import "../../rules/DifferenceMomentumUpdateRule.sol"; -import "../../rules/ChannelFollowingUpdateRule.sol"; -import "../../rules/MinimumVarianceUpdateRule.sol"; -import "../../rules/PowerChannelUpdateRule.sol"; -import "../../UpdateWeightRunner.sol"; -import "../../QuantAMMWeightedPoolFactory.sol"; -import "../../ChainlinkOracle.sol"; -import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; -import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; -import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; - -import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; - -contract Deploy is Script { - function run() external { - uint256 deployerPrivateKey; - - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { - // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } - - address transaction = 0x6663545aF63bC3268785Cf859f0608506759EBe8 - - cast tx 0x123abc... --rpc-url - vm.stopBroadcast(); - } -} From cd972e89e5ac57441bcd43c7a8503bea59bdc97f Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 23 Apr 2025 13:58:37 +0100 Subject: [PATCH 19/64] new update weight runner --- .../contracts/deployment/admin-scripts/approve_oracle.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol index 8ff8c672..9c93df00 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol @@ -40,7 +40,7 @@ contract Deploy is Script { // replace with your deployed addresses & payload IDelayModifier delay = IDelayModifier(0x4F824dDe06314a7Aa1091902d17B82c4b519F424); - address target = 0x34932B2670BC4fb110fBe7772f0fC9905269705E; + address target = 0xeE20C7956bd715052DF13DB9BD77984Eab85F0C4; uint256 value = 0; bytes memory data = hex"df5dd1a50000000000000000000000006fe415f986b12da4381d7082ca0223a0a49771a9"; uint8 operation = 0; From d2af47a9689f309b1157dc26f854445189bd6333 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 25 Apr 2025 13:48:29 +0100 Subject: [PATCH 20/64] updated diagnostic scripts --- .../admin-scripts/add_liquidity.sol | 43 ++++++++ .../admin-scripts/approve_oracle.sol | 31 +++--- .../admin-scripts/approve_pool_for_use.sol | 17 +-- .../deployment/admin-scripts/mint_weth.sol | 11 +- .../admin-scripts/remove_liquidity.sol | 45 ++++++++ .../deployment/diagnostics/get_data.sol | 46 ++++++++ .../deployment/diagnostics/pool_check.sol | 100 ++++++++++-------- .../initialise_intermediate_values.sol | 20 ++-- .../pool-initialisation/initialise_pool.sol | 57 ++++------ .../initialise_pool_copy.sol | 12 +-- .../initialise_rule_runner.sol | 17 +-- .../deployment/pool-running/perform_swap.sol | 24 ++--- .../pool-running/perform_update.sol | 26 ++--- 13 files changed, 287 insertions(+), 162 deletions(-) create mode 100644 pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol create mode 100644 pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol new file mode 100644 index 00000000..dd48bdc0 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + // For dry runs, we don't need a private key + vm.startBroadcast(); + + uint256[] memory amountIn = new uint256[](3); + amountIn[0] = uint256(0); + amountIn[1] = uint256(0); + amountIn[2] = uint256(0); + + bytes memory userData = ""; + + uint256 amountOut = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).addLiquidityUnbalanced( + 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D, + amountIn, + 0, + false, + userData + ); + + vm.stopBroadcast(); + } +} diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol index 9c93df00..7227fdd7 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_oracle.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import {Script} from "forge-std/Script.sol"; +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -13,23 +13,17 @@ import "../../QuantAMMWeightedPoolFactory.sol"; import "../../ChainlinkOracle.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; - interface IDelayModifier { - function executeNextTx( - address to, - uint256 value, - bytes calldata data, - uint8 operation - ) external; + function executeNextTx(address to, uint256 value, bytes calldata data, uint8 operation) external; } - contract Deploy is Script { function run() external { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -37,28 +31,27 @@ contract Deploy is Script { vm.startBroadcast(); } - // replace with your deployed addresses & payload IDelayModifier delay = IDelayModifier(0x4F824dDe06314a7Aa1091902d17B82c4b519F424); - address target = 0xeE20C7956bd715052DF13DB9BD77984Eab85F0C4; - uint256 value = 0; + address target = 0xeE20C7956bd715052DF13DB9BD77984Eab85F0C4; + uint256 value = 0; bytes memory data = hex"df5dd1a50000000000000000000000006fe415f986b12da4381d7082ca0223a0a49771a9"; - uint8 operation = 0; + uint8 operation = 0; delay.executeNextTx(target, value, data, operation); //BTC //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x6fE415F986b12Da4381d7082CA0223a0a49771A9)); -// + // ////ETH //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x70BE6803cD94EEecA55603C25a550d78D619B037)); -// + // ////PAXG //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x2E24826974Cd23bb851dBdbFD838521c61A530b3)); -// + // ////USDC //UpdateWeightRunner(0x34932B2670BC4fb110fBe7772f0fC9905269705E).addOracle(OracleWrapper(0x47eD785C84376F49610b90cea0A88dAe447B7881)); - + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol index 0dffa78f..432ad0b8 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/approve_pool_for_use.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -23,7 +23,8 @@ contract Deploy is Script { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -31,9 +32,11 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).setApprovedActionsForPool(0x6663545aF63bC3268785Cf859f0608506759EBe8 -, uint256(19)); - + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).setApprovedActionsForPool( + 0x6663545aF63bC3268785Cf859f0608506759EBe8, + uint256(19) + ); + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol index 25683607..13c5272c 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/mint_weth.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import {Script} from "forge-std/Script.sol"; +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -22,7 +22,8 @@ contract Deploy is Script { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -30,8 +31,8 @@ contract Deploy is Script { vm.startBroadcast(); } - IWETH(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9).deposit{value: 5000000000000000000}(); - + IWETH(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9).deposit{ value: 5000000000000000000 }(); + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol new file mode 100644 index 00000000..86e133fa --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + function run() external { + // For dry runs, we don't need a private key + vm.startBroadcast(); + + IERC20(0x314fDFAf8AD9b50fF105993C722a1826019Cf21D).approve(0xAE563E3f8219521950555F5962419C8919758Ea2, type(uint256).max); + + uint256[] memory minAmountsOut = new uint256[](3); + minAmountsOut[0] = uint256(0); + minAmountsOut[1] = uint256(0); + minAmountsOut[2] = uint256(0); + + bytes memory userData = ""; + + uint256[] memory amountIn = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).removeLiquidityProportional( + 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D, + uint256(0.2646781979e18), + minAmountsOut, + false, + userData + ); + + vm.stopBroadcast(); + } +} diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol new file mode 100644 index 00000000..29e594b3 --- /dev/null +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.26; + +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; +import "@openzeppelin//contracts/utils/Strings.sol"; +import "../../rules/AntimomentumUpdateRule.sol"; +import "../../rules/MomentumUpdateRule.sol"; +import "../../rules/DifferenceMomentumUpdateRule.sol"; +import "../../rules/ChannelFollowingUpdateRule.sol"; +import "../../rules/MinimumVarianceUpdateRule.sol"; +import "../../rules/PowerChannelUpdateRule.sol"; +import "../../UpdateWeightRunner.sol"; +import "../../QuantAMMWeightedPoolFactory.sol"; +import "../../ChainlinkOracle.sol"; +import { IRouter } from "@balancer-labs/v3-interfaces/contracts/vault/IRouter.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-quantamm/IQuantAMMWeightedPool.sol"; + +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; + +contract Deploy is Script { + using Strings for uint256; + using Strings for uint64; + using Strings for uint40; + + function run() external { + uint256 deployerPrivateKey; + + // For dry runs, we don't need a private key + vm.startBroadcast(); + + (int256 data, uint40 timestamp) = OracleWrapper(0xaAFB604Dc5c7D178e767eD576cA9aa6D48B350C2).getData(); + console.log("Data"); + if (data < 0) { + console.log(string.concat("-", uint256(-data).toString())); + } else { + console.log(uint256(data).toString()); + } + console.log("Timestamp"); + console.log(timestamp.toString()); + + vm.stopBroadcast(); + } +} diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 020eb922..35a49cbf 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -3,6 +3,7 @@ pragma solidity 0.8.26; import "forge-std/console.sol"; // Import the console library for logging import { Script } from "forge-std/Script.sol"; +import "@openzeppelin//contracts/utils/Strings.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -20,30 +21,26 @@ import { IQuantAMMWeightedPool } from "@balancer-labs/v3-interfaces/contracts/po import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; contract Deploy is Script { + using Strings for uint256; + using Strings for uint64; + using Strings for uint40; + function run() external { uint256 deployerPrivateKey; - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { - // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } + // For dry runs, we don't need a private key + vm.startBroadcast(); - address pool = 0x5C427119ad1676d08e8cbaB2BcAEfe9ce334A29c -; - address rule = 0xb7Fe8caBBA9B05f59da643748ba725564aE496C1; - address updateWeightRunnerAddress = 0x4397d0D8dCc24a5A6a007B768a1CFB45bF37267D; + address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; + address rule = 0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295; + address updateWeightRunnerAddress = 0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748; - IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool( - pool - ).getQuantAMMWeightedPoolDynamicData(); + IQuantAMMWeightedPool.QuantAMMWeightedPoolDynamicData memory weights = QuantAMMWeightedPool(pool) + .getQuantAMMWeightedPoolDynamicData(); console.log("Total Supply"); console.logUint(weights.totalSupply); + console.log(weights.totalSupply.toString()); console.log("Is Pool Initialized"); console.log(weights.isPoolInitialized); @@ -53,27 +50,33 @@ contract Deploy is Script { console.log("Is Pool In Recovery Mode"); console.log(weights.isPoolInRecoveryMode); - IQuantAMMWeightedPool.QuantAMMWeightedPoolImmutableData memory immutableData = QuantAMMWeightedPool( - pool - ).getQuantAMMWeightedPoolImmutableData(); + + IQuantAMMWeightedPool.QuantAMMWeightedPoolImmutableData memory immutableData = QuantAMMWeightedPool(pool) + .getQuantAMMWeightedPoolImmutableData(); console.log("Oracle Staleness Threshold"); console.logUint(immutableData.oracleStalenessThreshold); + console.log(immutableData.oracleStalenessThreshold.toString()); console.log("Pool Registry"); console.logUint(immutableData.poolRegistry); + console.log(immutableData.poolRegistry.toString()); console.log("Epsilon Max"); console.logUint(immutableData.epsilonMax); + console.log(immutableData.epsilonMax.toString()); console.log("Absolute Weight Guard Rail"); console.logUint(immutableData.absoluteWeightGuardRail); + console.log(immutableData.absoluteWeightGuardRail.toString()); console.log("Update Interval"); console.logUint(immutableData.updateInterval); + console.log(immutableData.updateInterval.toString()); console.log("Max Trade Size Ratio"); console.logUint(immutableData.maxTradeSizeRatio); + console.log(immutableData.maxTradeSizeRatio.toString()); console.log("Tokens"); for (uint256 i = 0; i < immutableData.tokens.length; i++) { @@ -83,71 +86,84 @@ contract Deploy is Script { console.log("Lambda"); for (uint256 i = 0; i < immutableData.lambda.length; i++) { console.logUint(immutableData.lambda[i]); + console.log(immutableData.lambda[i].toString()); } console.log("Rule Parameters"); for (uint256 i = 0; i < immutableData.ruleParameters.length; i++) { for (uint256 j = 0; j < immutableData.ruleParameters[i].length; j++) { - console.logInt(immutableData.ruleParameters[i][j]); + console.logInt(immutableData.ruleParameters[i][j]); + if (immutableData.ruleParameters[i][j] < 0) { + console.log(string.concat("-", uint256(-immutableData.ruleParameters[i][j]).toString())); + } else { + console.log(uint256(immutableData.ruleParameters[i][j]).toString()); + } } } console.log("Balances Live Scaled 18"); for (uint256 i = 0; i < weights.balancesLiveScaled18.length; i++) { console.logInt(int256(weights.balancesLiveScaled18[i])); + console.log(weights.balancesLiveScaled18[i].toString()); } console.log("weights and multipliers"); for (uint256 i = 0; i < weights.firstFourWeightsAndMultipliers.length; i++) { console.logInt(int256(weights.firstFourWeightsAndMultipliers[i])); + if (weights.firstFourWeightsAndMultipliers[i] < 0) { + console.log(string.concat("-", uint256(-weights.firstFourWeightsAndMultipliers[i]).toString())); + } else { + console.log(uint256(weights.firstFourWeightsAndMultipliers[i]).toString()); + } } - uint256[] memory weightsAndMultipliers = QuantAMMWeightedPool( - pool - ).getNormalizedWeights(); + uint256[] memory weightsAndMultipliers = QuantAMMWeightedPool(pool).getNormalizedWeights(); console.log("normalized weights"); - for(uint256 i = 0; i < weightsAndMultipliers.length; i++) { + for (uint256 i = 0; i < weightsAndMultipliers.length; i++) { console.logInt(int256(weightsAndMultipliers[i])); + console.log(weightsAndMultipliers[i].toString()); } console.log("intermediate state"); - int256[] memory intermediateState = PowerChannelUpdateRule(rule) - .getIntermediateGradientState(pool, 3); - console.logInt(intermediateState[0]); - console.logInt(intermediateState[1]); - console.logInt(intermediateState[2]); - - - int256[] memory movingAverages = PowerChannelUpdateRule(rule) - .getMovingAverages(pool, 3); - console.logInt(intermediateState[0]); - console.logInt(intermediateState[1]); - console.logInt(intermediateState[2]); + int256[] memory intermediateState = PowerChannelUpdateRule(rule).getIntermediateGradientState(pool, 3); + for (uint256 i = 0; i < intermediateState.length; i++) { + console.logInt(intermediateState[i]); + if (intermediateState[i] < 0) { + console.log(string.concat("-", uint256(-intermediateState[i]).toString())); + } else { + console.log(uint256(intermediateState[i]).toString()); + } + } console.log("movingAverages"); for (uint256 i = 0; i < movingAverages.length; i++) { console.logInt(int256(movingAverages[i])); + if (movingAverages[i] < 0) { + console.log(string.concat("-", uint256(-movingAverages[i]).toString())); + } else { + console.log(uint256(movingAverages[i]).toString()); + } } console.log("last update time"); console.logUint(uint256(weights.lastInteropTime)); + console.log(weights.lastInteropTime.toString()); console.logUint(uint256(weights.lastUpdateTime)); + console.log(weights.lastUpdateTime.toString()); - address[] memory oracles = UpdateWeightRunner( - updateWeightRunnerAddress - ).getOptimisedPoolOracle(pool); + address[] memory oracles = UpdateWeightRunner(updateWeightRunnerAddress).getOptimisedPoolOracle(pool); console.log("poolOracles"); - for(uint256 i = 0; i < oracles.length; i++) { + for (uint256 i = 0; i < oracles.length; i++) { console.log(oracles[i]); } console.log("approved permissions"); - uint256 registry = UpdateWeightRunner(updateWeightRunnerAddress) - .getPoolApprovedActions(pool); + uint256 registry = UpdateWeightRunner(updateWeightRunnerAddress).getPoolApprovedActions(pool); console.logUint(registry); + console.log(registry.toString()); vm.stopBroadcast(); } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol index 3e398113..4af8149b 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_intermediate_values.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -23,7 +23,8 @@ contract Deploy is Script { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -43,10 +44,13 @@ contract Deploy is Script { newParameters[2] = 1e18; newParameters[3] = 1e18; - UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3) - .setIntermediateValuesManually(0x6663545aF63bC3268785Cf859f0608506759EBe8 -, newMovingAverages, newParameters, 4); - + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).setIntermediateValuesManually( + 0x6663545aF63bC3268785Cf859f0608506759EBe8, + newMovingAverages, + newParameters, + 4 + ); + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index ecdf0cc0..cd16c276 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -22,32 +22,24 @@ contract Deploy is Script { function run() external { uint256 deployerPrivateKey; - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } + // For dry runs, we don't need a private key + vm.startBroadcast(); - IERC20[] memory tokenAddresses = new IERC20[](4); - tokenAddresses[0] = IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03); - tokenAddresses[1] = IERC20(0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9); - tokenAddresses[2] = IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8); - tokenAddresses[3] = IERC20(0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357); + IERC20[] memory tokenAddresses = new IERC20[](3); + tokenAddresses[0] = IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599); + tokenAddresses[1] = IERC20(0x45804880De22913dAFE09f4980848ECE6EcbAf78); + tokenAddresses[2] = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); IPermit2 permit2 = IPermit2(0x000000000022D473030F116dDEE9F6B43aC78BA3); // Permit2 contract address IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); IERC20(tokenAddresses[2]).approve(address(permit2), type(uint256).max); - IERC20(tokenAddresses[3]).approve(address(permit2), type(uint256).max); // Approve token 0 using Permit2 permit2.approve( address(tokenAddresses[0]), - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens uint160(type(uint256).max), // Amount to approve uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); @@ -55,7 +47,7 @@ contract Deploy is Script { // Approve token 1 using Permit2 permit2.approve( address(tokenAddresses[1]), - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens uint160(type(uint256).max), // Amount to approve uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); @@ -63,38 +55,27 @@ contract Deploy is Script { // Approve token 1 using Permit2 permit2.approve( address(tokenAddresses[2]), - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens - uint160(type(uint256).max), // Amount to approve - uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now - ); - - // Approve token 1 using Permit2 - permit2.approve( - address(tokenAddresses[3]), - 0x0BF61f706105EA44694f2e92986bD01C39930280, // The contract that will spend tokens + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens uint160(type(uint256).max), // Amount to approve uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); - - uint256[] memory weights = new uint256[](4); - weights[0] = uint256(10000000); - weights[1] = uint256(10000000); - weights[2] = uint256(10000000); - weights[3] = uint256(10000000); + uint256[] memory weights = new uint256[](3); + weights[0] = uint256(47125); + weights[1] = uint256(409000000000000000); + weights[2] = uint256(44021591); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); - uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( - 0x6663545aF63bC3268785Cf859f0608506759EBe8 -, + uint256 amountIn = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).initialize( + 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9, tokenAddresses, weights, 0, false, bytes("") ); - + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol index ed155ce5..94d38fc4 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -23,7 +23,8 @@ contract Deploy is Script { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -76,7 +77,6 @@ contract Deploy is Script { uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now ); - uint256[] memory weights = new uint256[](4); weights[0] = uint256(1000000); weights[1] = uint256(1000000); @@ -93,7 +93,7 @@ contract Deploy is Script { false, bytes("") ); - + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol index ac3ba2b0..3effefd8 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_rule_runner.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -23,7 +23,8 @@ contract Deploy is Script { uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -31,9 +32,11 @@ contract Deploy is Script { vm.startBroadcast(); } - UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).InitialisePoolLastRunTime(0x6663545aF63bC3268785Cf859f0608506759EBe8 -, uint40(10)); - + UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3).InitialisePoolLastRunTime( + 0x6663545aF63bC3268785Cf859f0608506759EBe8, + uint40(10) + ); + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol index b963a3a2..fdc07c0d 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -18,20 +18,15 @@ import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol" import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import { - SwapKind, - VaultSwapParams -} from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; +import { SwapKind, VaultSwapParams } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; contract Deploy is Script { - function run() external { - - uint256 deployerPrivateKey; // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) + if (block.chainid != 11155111) { + // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); } else { @@ -47,10 +42,9 @@ contract Deploy is Script { limitRaw: 1e18, // Replace with the actual limit userData: "" }); - - IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9) - .swap(params); - + + IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).swap(params); + vm.stopBroadcast(); } -} \ No newline at end of file +} diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol index be72749c..f2b35dcd 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.26; -import "forge-std/console.sol"; // Import the console library for logging -import {Script} from "forge-std/Script.sol"; +import "forge-std/console.sol"; // Import the console library for logging +import { Script } from "forge-std/Script.sol"; import "../../rules/AntimomentumUpdateRule.sol"; import "../../rules/MomentumUpdateRule.sol"; import "../../rules/DifferenceMomentumUpdateRule.sol"; @@ -22,19 +22,15 @@ contract Deploy is Script { function run() external { uint256 deployerPrivateKey; - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { - // For dry runs, we don't need a private key - vm.startBroadcast(); - } + // For dry runs, we don't need a private key + vm.startBroadcast(); + + address pool = 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D; + address rule = 0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295; + address updateWeightRunnerAddress = 0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748; + + UpdateWeightRunner(updateWeightRunnerAddress).performUpdate(pool); - UpdateWeightRunner(0x26570ad4CC61eA3E944B1c4660416E45796D44b3) - .performUpdate(0x6663545aF63bC3268785Cf859f0608506759EBe8 -); - vm.stopBroadcast(); } -} \ No newline at end of file +} From ee26aa91a5cb9fea70bb1d5ffad848649ae78e39 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 25 Apr 2025 13:50:20 +0100 Subject: [PATCH 21/64] fix --- .../contracts/deployment/diagnostics/pool_check.sol | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 35a49cbf..2ca9782d 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -135,7 +135,9 @@ contract Deploy is Script { console.log(uint256(intermediateState[i]).toString()); } } - + + int256[] memory movingAverages = PowerChannelUpdateRule(rule) + .getMovingAverages(pool, 3); console.log("movingAverages"); for (uint256 i = 0; i < movingAverages.length; i++) { console.logInt(int256(movingAverages[i])); From 93c53424edf75802f0bfcf63b825eb30dcc54c01 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 25 Apr 2025 14:13:38 +0100 Subject: [PATCH 22/64] add liquidity permit2 --- .../contracts/deployment/admin-scripts/add_liquidity.sol | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol index dd48bdc0..88408b55 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -22,6 +22,12 @@ contract Deploy is Script { function run() external { // For dry runs, we don't need a private key vm.startBroadcast(); + address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; + + // Approve permit2 contract on token + IERC20(pool).approve(permit2, type(uint256).max); + // Approve router on Permit2 + IPermit2(permit2).approve(pool, router, type(uint160).max, type(uint48).max); uint256[] memory amountIn = new uint256[](3); amountIn[0] = uint256(0); @@ -31,7 +37,7 @@ contract Deploy is Script { bytes memory userData = ""; uint256 amountOut = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).addLiquidityUnbalanced( - 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D, + pool, amountIn, 0, false, From 143f1e8bbbe3f89e076efb931bfa516750c77222 Mon Sep 17 00:00:00 2001 From: MatthewWilletts <16085750+MatthewWilletts@users.noreply.github.com> Date: Sun, 27 Apr 2025 22:54:27 +0100 Subject: [PATCH 23/64] update initialise pool --- .../deployment/pool-initialisation/initialise_pool.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index cd16c276..8d099a69 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -61,14 +61,14 @@ contract Deploy is Script { ); uint256[] memory weights = new uint256[](3); - weights[0] = uint256(47125); - weights[1] = uint256(409000000000000000); - weights[2] = uint256(44021591); + weights[0] = uint256(126506); + weights[1] = uint256(1126277192074030000); + weights[2] = uint256(119423884); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); uint256 amountIn = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).initialize( - 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9, + 0xd4Ed17bBF48Af09B87fD7d8C60970f5Da79D4852, tokenAddresses, weights, 0, From 6929a539b6d0b06889c36cd0609aed3c47b243dd Mon Sep 17 00:00:00 2001 From: christian harrington Date: Sun, 27 Apr 2025 23:50:23 +0100 Subject: [PATCH 24/64] updated scripts --- .../admin-scripts/add_liquidity.sol | 2 + .../deployment/diagnostics/pool_check.sol | 40 +++++++++++- .../deployment/pool-running/perform_swap.sol | 64 +++++++++++++------ 3 files changed, 87 insertions(+), 19 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol index 88408b55..3d769635 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -24,6 +24,8 @@ contract Deploy is Script { vm.startBroadcast(); address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; + address permit2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3; + address router = 0xAE563E3f8219521950555F5962419C8919758Ea2; // Approve permit2 contract on token IERC20(pool).approve(permit2, type(uint256).max); // Approve router on Permit2 diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 2ca9782d..12b7ab97 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -31,7 +31,7 @@ contract Deploy is Script { // For dry runs, we don't need a private key vm.startBroadcast(); - address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; + address pool = 0xd4Ed17bBF48Af09B87fD7d8C60970f5Da79D4852; address rule = 0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295; address updateWeightRunnerAddress = 0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748; @@ -167,6 +167,44 @@ contract Deploy is Script { console.logUint(registry); console.log(registry.toString()); + console.log("getPoolRuleSettings"); + IUpdateWeightRunner.PoolRuleSettings memory ruleSettings = UpdateWeightRunner(updateWeightRunnerAddress) + .getPoolRuleSettings(pool); + console.log("Lambda"); + for (uint256 i = 0; i < ruleSettings.lambda.length; i++) { + console.logUint(ruleSettings.lambda[i]); + console.log(ruleSettings.lambda[i].toString()); + } + + console.log("Timing Settings"); + console.logUint(ruleSettings.timingSettings.updateInterval); + console.log(ruleSettings.timingSettings.updateInterval.toString()); + console.log("Last Pool Update Run"); + console.logUint(ruleSettings.timingSettings.lastPoolUpdateRun); + console.log(ruleSettings.timingSettings.lastPoolUpdateRun.toString()); + + console.log("Epsilon Max"); + console.logUint(ruleSettings.epsilonMax); + console.log(ruleSettings.epsilonMax.toString()); + + console.log("Absolute Weight Guard Rail"); + console.logUint(ruleSettings.absoluteWeightGuardRail); + console.log(ruleSettings.absoluteWeightGuardRail.toString()); + + console.log("Rule Parameters"); + for (uint256 i = 0; i < ruleSettings.ruleParameters.length; i++) { + for (uint256 j = 0; j < ruleSettings.ruleParameters[i].length; j++) { + console.logInt(ruleSettings.ruleParameters[i][j]); + if (ruleSettings.ruleParameters[i][j] < 0) { + console.log(string.concat("-", uint256(-ruleSettings.ruleParameters[i][j]).toString())); + } else { + console.log(uint256(ruleSettings.ruleParameters[i][j]).toString()); + } + } + } + + console.log("Pool Manager"); + console.log(ruleSettings.poolManager); vm.stopBroadcast(); } } diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol index fdc07c0d..7efc63b7 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol @@ -24,26 +24,54 @@ contract Deploy is Script { function run() external { uint256 deployerPrivateKey; - // Only load the private key if broadcasting (i.e., not dry run) - if (block.chainid != 11155111) { - // Replace 11155111 with the chain ID you're working with (e.g., Sepolia) - deployerPrivateKey = vm.envUint("PRIVATE_KEY"); - vm.startBroadcast(deployerPrivateKey); - } else { // For dry runs, we don't need a private key vm.startBroadcast(); - } - VaultSwapParams memory params = VaultSwapParams({ - kind: SwapKind.EXACT_IN, - pool: 0x6663545aF63bC3268785Cf859f0608506759EBe8, - tokenIn: IERC20(0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8), // Replace with actual tokenIn address - tokenOut: IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), // Replace with actual tokenOut address - amountGivenRaw: 100, // Replace with the actual amount - limitRaw: 1e18, // Replace with the actual limit - userData: "" - }); - - IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).swap(params); + address pool = 0xd4Ed17bBF48Af09B87fD7d8C60970f5Da79D4852; + address permit2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3; + address router = 0xAE563E3f8219521950555F5962419C8919758Ea2; + + ////Approve token 0 using Permit2 + //IPermit2(permit2).approve( + // 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, + // router, // The contract that will spend tokens + // uint160(type(uint256).max), // Amount to approve + // uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + //); +// + ////Approve token 0 using Permit2 + //IPermit2(permit2).approve( + // 0x45804880De22913dAFE09f4980848ECE6EcbAf78, + // router, // The contract that will spend tokens + // uint160(type(uint256).max), // Amount to approve + // uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + //); + + + //Approve token 0 using Permit2 + IPermit2(permit2).approve( + 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599, + router, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + //Approve permit2 contract on token + //IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48).approve(permit2, type(uint256).max); + //IERC20(0x45804880De22913dAFE09f4980848ECE6EcbAf78).approve(permit2, type(uint256).max); + IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599).approve(permit2, type(uint256).max); + //Approve router on Permit2 + //IPermit2(permit2).approve(pool, router, type(uint160).max, type(uint48).max); + + uint256 amountOut = IRouter(router).swapSingleTokenExactIn( + pool, // pool + IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48), // tokenIn + IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599), // tokenOut + 9364160, // exactAmountIn + 0, // minAmountOut + 999999999999999999, // deadline + false, // wethIsEth + "" // userData + ); vm.stopBroadcast(); } From 5bba95106201233de569b6d436e2391b38dd784f Mon Sep 17 00:00:00 2001 From: MatthewWilletts <16085750+MatthewWilletts@users.noreply.github.com> Date: Mon, 28 Apr 2025 12:19:49 +0100 Subject: [PATCH 25/64] bump liquiditiy depoloyment script --- .../admin-scripts/add_liquidity.sol | 47 ++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol index 88408b55..47d5551d 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -23,20 +23,55 @@ contract Deploy is Script { // For dry runs, we don't need a private key vm.startBroadcast(); address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; - + address router = 0xAE563E3f8219521950555F5962419C8919758Ea2; + address permit2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3; // Approve permit2 contract on token IERC20(pool).approve(permit2, type(uint256).max); // Approve router on Permit2 IPermit2(permit2).approve(pool, router, type(uint160).max, type(uint48).max); - uint256[] memory amountIn = new uint256[](3); - amountIn[0] = uint256(0); - amountIn[1] = uint256(0); - amountIn[2] = uint256(0); + IERC20[] memory tokenAddresses = new IERC20[](3); + tokenAddresses[0] = IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599); + tokenAddresses[1] = IERC20(0x45804880De22913dAFE09f4980848ECE6EcbAf78); + tokenAddresses[2] = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); + + IERC20(tokenAddresses[0]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[1]).approve(address(permit2), type(uint256).max); + IERC20(tokenAddresses[2]).approve(address(permit2), type(uint256).max); + + // Approve token 0 using Permit2 + IPermit2(permit2).approve( + address(tokenAddresses[0]), + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + IPermit2(permit2).approve( + address(tokenAddresses[1]), + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + // Approve token 1 using Permit2 + IPermit2(permit2).approve( + address(tokenAddresses[2]), + 0xAE563E3f8219521950555F5962419C8919758Ea2, // The contract that will spend tokens + uint160(type(uint256).max), // Amount to approve + uint48(block.timestamp + 24 hours) // Expiry: 24 hours from now + ); + + + uint256[] memory amountIn = new uint256[](3); + amountIn[0] = uint256(62785); + amountIn[1] = uint256(569019341313499000); + amountIn[2] = uint256(60000000); bytes memory userData = ""; - uint256 amountOut = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).addLiquidityUnbalanced( + uint256 amountOut = IRouter(router).addLiquidityUnbalanced( pool, amountIn, 0, From ee458a195214b5ab8ce02b397d949f8289f34b36 Mon Sep 17 00:00:00 2001 From: MatthewWilletts <16085750+MatthewWilletts@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:44:31 +0100 Subject: [PATCH 26/64] update pool address to mainnet safe haven pool, set deposit amounts to 0 --- .../contracts/deployment/admin-scripts/add_liquidity.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol index e1ccdd7b..2000e431 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -22,7 +22,7 @@ contract Deploy is Script { function run() external { // For dry runs, we don't need a private key vm.startBroadcast(); - address pool = 0x9D430BFE48f2FCFd9a3964987144Eee2d7d5b4E9; + address pool = 0xd4Ed17bBF48Af09B87fD7d8C60970f5Da79D4852; address permit2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3; address router = 0xAE563E3f8219521950555F5962419C8919758Ea2; // Approve permit2 contract on token @@ -66,9 +66,9 @@ contract Deploy is Script { uint256[] memory amountIn = new uint256[](3); - amountIn[0] = uint256(62785); - amountIn[1] = uint256(569019341313499000); - amountIn[2] = uint256(60000000); + amountIn[0] = uint256(0); + amountIn[1] = uint256(0); + amountIn[2] = uint256(0); bytes memory userData = ""; uint256 amountOut = IRouter(router).addLiquidityUnbalanced( From 0bc202dda70e0568aec904479b70b575fefb5fef Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 12 Jun 2025 22:15:39 +0100 Subject: [PATCH 27/64] CODEHAWKS-H-02 --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index fbf4f56b..ad732f42 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -437,7 +437,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] memory amountsOutRaw, uint256[] memory, bytes memory userData - ) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { + ) public override onlyVault onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { address userAddress = address(bytes20(userData)); AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ From c742f09fea9980a93046148fa8805145cc507ba8 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:27:22 +0100 Subject: [PATCH 28/64] H-06 admin fee divide --- .../contracts/hooks-quantamm/UpliftOnlyExample.sol | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index ad732f42..f85121b0 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -332,7 +332,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 ownerFee = hookFee; if (quantAMMFeeTake > 0) { - uint256 adminFee = hookFee / (1e18 / quantAMMFeeTake); + uint256 adminFee = hookFee * quantAMMFeeTake / 1e18; ownerFee = hookFee - adminFee; address quantAMMAdmin = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(); _vault.sendTo(feeToken, quantAMMAdmin, adminFee); @@ -534,6 +534,10 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } if (localData.adminFeePercent > 0) { + for (uint256 i = 0; i < localData.accruedQuantAMMFees.length; i++) { + localData.accruedQuantAMMFees[i] += 1; + hookAdjustedAmountsOutRaw[i] -= 1; + } _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, From 39322c64bb06f10932a837716bcfc20ff96ac703 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:28:23 +0100 Subject: [PATCH 29/64] H-07 send to owner not contract address --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index f85121b0..7f840756 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -340,7 +340,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } if (ownerFee > 0) { - _vault.sendTo(feeToken, address(this), ownerFee); + _vault.sendTo(feeToken, owner(), ownerFee); emit SwapHookFeeCharged(address(this), feeToken, ownerFee); } From 82e78e608a954405e655e1fb79cd15345007a8e1 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:31:18 +0100 Subject: [PATCH 30/64] H-11 proportional to deposits now --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 7f840756..b8c215d3 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -473,7 +473,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { localData.lpTokenDepositValueChange = (int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) / - int256(localData.lpTokenDepositValue); + int256(localData.lpTokenDepositValueNow); uint256 feePerLP; // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value From b0e8f77c57ffa28513638d8a77dff366f728eefd Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:37:09 +0100 Subject: [PATCH 31/64] M-1 fix setters for uplift fee --- pkg/pool-quantamm/contracts/UpdateWeightRunner.sol | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol b/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol index 47118265..8384d7c4 100644 --- a/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol +++ b/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol @@ -139,6 +139,9 @@ contract UpdateWeightRunner is IUpdateWeightRunner { /// @notice The % of the total swap fee that is allocated to the protocol for running costs. uint256 public quantAMMSwapFeeTake = 0.5e18; + /// @notice The % of the total swap fee that is allocated to the protocol for running costs. + uint256 public quantAMMUpliftFeeTake = 0.5e18; + function setQuantAMMSwapFeeTake(uint256 _quantAMMSwapFeeTake) external override { require(msg.sender == quantammAdmin, "ONLYADMIN"); require(_quantAMMSwapFeeTake <= 1e18, "Swap fee must be less than 100%"); @@ -157,15 +160,15 @@ contract UpdateWeightRunner is IUpdateWeightRunner { function setQuantAMMUpliftFeeTake(uint256 _quantAMMUpliftFeeTake) external { require(msg.sender == quantammAdmin, "ONLYADMIN"); require(_quantAMMUpliftFeeTake <= 1e18, "Uplift fee must be less than 100%"); - uint256 oldSwapFee = quantAMMSwapFeeTake; - quantAMMSwapFeeTake = _quantAMMUpliftFeeTake; + uint256 oldUplFee = quantAMMUpliftFeeTake; + quantAMMUpliftFeeTake = _quantAMMUpliftFeeTake; - emit UpliftFeeTakeSet(oldSwapFee, _quantAMMUpliftFeeTake); + emit UpliftFeeTakeSet(oldUplFee, _quantAMMUpliftFeeTake); } /// @notice Get the quantAMM uplift fee % amount allocated to the protocol for running costs function getQuantAMMUpliftFeeTake() external view returns (uint256) { - return quantAMMSwapFeeTake; + return quantAMMUpliftFeeTake; } function getQuantAMMAdmin() external view override returns (address) { From 1ca2089f4066d7e1851c476442f3d57270672de1 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:42:12 +0100 Subject: [PATCH 32/64] M-03 fix scaling for computation --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index b8c215d3..894e5fca 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -472,7 +472,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; localData.lpTokenDepositValueChange = - (int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) / + ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); uint256 feePerLP; From b698ec0c41de817645bdb32a01ab0c36e5cb4a66 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:53:53 +0100 Subject: [PATCH 33/64] M-04 restrict transfer to sell --- pkg/pool-hooks/contracts/hooks-quantamm/LPNFT.sol | 1 + pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 4 ++-- pkg/pool-hooks/test/foundry/UpliftExample.t.sol | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/LPNFT.sol b/pkg/pool-hooks/contracts/hooks-quantamm/LPNFT.sol index 43fcc74e..34b853b1 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/LPNFT.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/LPNFT.sol @@ -50,6 +50,7 @@ contract LPNFT is ERC721 { previousOwner = super._update(to, tokenId, auth); //_update is called during mint, burn and transfer. This functionality is only for transfer if (to != address(0) && previousOwner != address(0)) { + require(previousOwner != to, "CANNOT_TRANSFER_TO_SELF"); //if transfering the record in the vault needs to be changed to reflect the change in ownership router.afterUpdate(previousOwner, to, tokenId); } diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 894e5fca..c40605c3 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -185,7 +185,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { * @param to The address the NFT is being transferred to * @param tokenId The token ID being transferred */ - error TransferUpdateTokenIDInvaid(address from, address to, uint256 tokenId); + error TransferUpdateTokenIDInvalid(address from, address to, uint256 tokenId); modifier onlySelfRouter(address router) { _ensureSelfRouter(router); @@ -585,7 +585,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { address poolAddress = nftPool[_tokenID]; if (poolAddress == address(0)) { - revert TransferUpdateTokenIDInvaid(_from, _to, _tokenID); + revert TransferUpdateTokenIDInvalid(_from, _to, _tokenID); } int256[] memory prices = IUpdateWeightRunner(_updateWeightRunner).getData(poolAddress); diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index d253722f..bb61fbf0 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -904,7 +904,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); vm.startPrank(address(upliftOnlyRouter.lpNFT())); - vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.TransferUpdateTokenIDInvaid.selector, bob, lp, 2)); + vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.TransferUpdateTokenIDInvalid.selector, bob, lp, 2)); upliftOnlyRouter.afterUpdate(bob, lp, 2); vm.stopPrank(); } From de95ff394af731de3a243194128b79bc86b51226 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 11:55:55 +0100 Subject: [PATCH 34/64] M-06 add check that recipient does not have more than 100 deposits --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index c40605c3..8a50f013 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -587,6 +587,10 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { if (poolAddress == address(0)) { revert TransferUpdateTokenIDInvalid(_from, _to, _tokenID); } + + if (poolsFeeData[poolAddress][_to].length >= 100) { + revert TooManyDeposits(poolAddress, _to); + } int256[] memory prices = IUpdateWeightRunner(_updateWeightRunner).getData(poolAddress); uint256 lpTokenDepositValueNow = getPoolLPTokenValue(prices, poolAddress, MULDIRECTION.MULDOWN); From 01c89a3dab8139a833798fd19b7f7c880118cb35 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:02:18 +0100 Subject: [PATCH 35/64] M-08 add maximum fee take --- .../contracts/hooks-quantamm/UpliftOnlyExample.sol | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 8a50f013..a365a228 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -92,7 +92,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% - + uint64 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 5000; // 10% /** * @notice A new `UpliftOnlyExampleRegistered` contract has been registered successfully for a given pool. * @dev If the registration fails the call will revert, so there will be no event. @@ -476,6 +476,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { int256(localData.lpTokenDepositValueNow); uint256 feePerLP; + // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value if (localData.lpTokenDepositValueChange > 0) { feePerLP = @@ -489,6 +490,10 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { feePerLP = (uint256(minWithdrawalFeeBps) * 1e18) / 10000; } + if (feePerLP > (_MAX_UPLIFT_FEE_PERCENTAGE * 1e18) / 10000) { + feePerLP = (_MAX_UPLIFT_FEE_PERCENTAGE * 1e18) / 10000; + } + // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next if (feeDataArray[i].amount <= localData.amountLeft) { uint256 depositAmount = feeDataArray[i].amount; From 9d6258263a4dc575a46ecc6a8c2d4e445164556d Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:07:48 +0100 Subject: [PATCH 36/64] M-13 retain original fee level on transfer --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index a365a228..4a94ce04 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -621,7 +621,6 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { //vault.transferLPTokens(_from, _to, feeDataArray[i].amount); feeDataArray[tokenIdIndex].lpTokenDepositValue = lpTokenDepositValueNow; feeDataArray[tokenIdIndex].blockTimestampDeposit = uint32(block.number); - feeDataArray[tokenIdIndex].upliftFeeBps = upliftFeeBps; //actual transfer not a afterTokenTransfer caused by a burn poolsFeeData[poolAddress][_to].push(feeDataArray[tokenIdIndex]); From f37a6507ffb7cebff9860c36ada4868061f6fc9c Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:21:58 +0100 Subject: [PATCH 37/64] M-18 get correct swap fee take --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 4a94ce04..d961de98 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -328,7 +328,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { hookAdjustedAmountCalculatedRaw += hookFee; } - uint256 quantAMMFeeTake = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); + uint256 quantAMMFeeTake = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMSwapFeeTake(); uint256 ownerFee = hookFee; if (quantAMMFeeTake > 0) { From 2668238fb8dd4c2799982d6784bb6da6b6a91ab9 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:23:04 +0100 Subject: [PATCH 38/64] L-14 change number to timestamp tracking --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index d961de98..3d798d09 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -620,7 +620,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // Update the deposit value to the current value of the pool in base currency (e.g. USD) and the block index to the current block number //vault.transferLPTokens(_from, _to, feeDataArray[i].amount); feeDataArray[tokenIdIndex].lpTokenDepositValue = lpTokenDepositValueNow; - feeDataArray[tokenIdIndex].blockTimestampDeposit = uint32(block.number); + feeDataArray[tokenIdIndex].blockTimestampDeposit = uint40(block.timestamp); //actual transfer not a afterTokenTransfer caused by a burn poolsFeeData[poolAddress][_to].push(feeDataArray[tokenIdIndex]); From 0cdf0bb745dc9cd84b7b23694ea976f0d63e181e Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:39:25 +0100 Subject: [PATCH 39/64] restrict to 1 deposit per block --- .../contracts/hooks-quantamm/UpliftOnlyExample.sol | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 3d798d09..c9aa4353 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -223,9 +223,17 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { bool wethIsEth, bytes memory userData ) external payable saveSender(msg.sender) returns (uint256[] memory amountsIn) { - if (poolsFeeData[pool][msg.sender].length > 100) { + uint256 currentLength = poolsFeeData[pool][msg.sender].length; + if (currentLength > 100) { revert TooManyDeposits(pool, msg.sender); } + + if(currentLength > 0){ + //There is a possibility that multiple deposits and transfers in the same block can be exploited. + uint256 lastTimestamp = poolsFeeData[pool][msg.sender][currentLength - 1].blockTimestampDeposit; + require(block.timestamp - lastTimestamp > 1, "TOO_FREQUENT_DEPOSITS"); + } + // Do addLiquidity operation - BPT is minted to this contract. amountsIn = _addLiquidityProportional( pool, From 8c58044b4204ccc409ae8d085c98e948edb13cbe Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 17 Jun 2025 12:54:42 +0100 Subject: [PATCH 40/64] use errors instead of requires --- .../contracts/hooks-quantamm/UpliftOnlyExample.sol | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index c9aa4353..e93afa21 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -162,6 +162,14 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { */ error TooManyDeposits(address pool, address depositor); + /** + * @notice To avoid Ddos issues, a single depositor can only deposit 100 times + * @param pool The pool the depositor is attempting to deposit to + * @param depositor The address of the depositor + */ + error TooFastDeposits(address pool, address depositor); + + /** * @notice Attempted withdrawal of an NFT-associated position by an address that is not the owner. * @param withdrawer The address attempting to withdraw @@ -227,11 +235,13 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { if (currentLength > 100) { revert TooManyDeposits(pool, msg.sender); } - + if(currentLength > 0){ //There is a possibility that multiple deposits and transfers in the same block can be exploited. uint256 lastTimestamp = poolsFeeData[pool][msg.sender][currentLength - 1].blockTimestampDeposit; - require(block.timestamp - lastTimestamp > 1, "TOO_FREQUENT_DEPOSITS"); + if (block.timestamp - lastTimestamp <= 1) { + revert TooFastDeposits(pool, msg.sender); + } } // Do addLiquidity operation - BPT is minted to this contract. From d02671d42aad1c827603d9c7c6b1320ed9d4ee36 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 18 Jun 2025 13:00:12 +0100 Subject: [PATCH 41/64] fix ownership tests --- .../test/foundry/UpliftExample.t.sol | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index bb61fbf0..8461f064 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -438,6 +438,10 @@ contract UpliftOnlyExampleTest is BaseVaultTest { upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -532,6 +536,10 @@ contract UpliftOnlyExampleTest is BaseVaultTest { upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -632,6 +640,10 @@ contract UpliftOnlyExampleTest is BaseVaultTest { upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -952,12 +964,12 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.expectEmit(); emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); - + vm.prank(owner); UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); uint256 hookFee = swapAmount.mulUp(hookFeePercentage); - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + BaseVaultTest.Balances memory balancesBefore = getBalances(owner); vm.prank(bob); vm.expectCall( @@ -988,21 +1000,21 @@ contract UpliftOnlyExampleTest is BaseVaultTest { router.swapSingleTokenExactIn(address(pool), dai, usdc, swapAmount, 0, MAX_UINT256, false, bytes("")); - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); + BaseVaultTest.Balances memory balancesAfter = getBalances(owner); assertEq( - balancesBefore.userTokens[daiIdx] - balancesAfter.userTokens[daiIdx], + balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], swapAmount, "Bob DAI balance is wrong" ); - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook DAI balance is wrong"); + assertEq(balancesBefore.userTokens[daiIdx], balancesAfter.userTokens[daiIdx], "Hook DAI balance is wrong"); assertEq( - balancesAfter.userTokens[usdcIdx] - balancesBefore.userTokens[usdcIdx], + balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], swapAmount - hookFee, "Bob USDC balance is wrong" ); assertEq( - balancesAfter.hookTokens[usdcIdx] - balancesBefore.hookTokens[usdcIdx], + balancesAfter.userTokens[usdcIdx] - balancesBefore.userTokens[usdcIdx], hookFee, "Hook USDC balance is wrong" ); @@ -1024,7 +1036,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); uint256 hookFee = swapAmount.mulUp(hookFeePercentage); - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + BaseVaultTest.Balances memory balancesBefore = getBalances(owner); vm.prank(bob); vm.expectCall( @@ -1064,21 +1076,21 @@ contract UpliftOnlyExampleTest is BaseVaultTest { bytes("") ); - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); + BaseVaultTest.Balances memory balancesAfter = getBalances(owner); assertEq( - balancesAfter.userTokens[usdcIdx] - balancesBefore.userTokens[usdcIdx], + balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], swapAmount, "Bob USDC balance is wrong" ); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook USDC balance is wrong"); + assertEq(balancesBefore.userTokens[usdcIdx], balancesAfter.userTokens[usdcIdx], "Hook USDC balance is wrong"); assertEq( - balancesBefore.userTokens[daiIdx] - balancesAfter.userTokens[daiIdx], + balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], swapAmount + hookFee, "Bob DAI balance is wrong" ); assertEq( - balancesAfter.hookTokens[daiIdx] - balancesBefore.hookTokens[daiIdx], + balancesAfter.userTokens[daiIdx] - balancesBefore.userTokens[daiIdx], hookFee, "Hook DAI balance is wrong" ); @@ -1119,6 +1131,9 @@ contract UpliftOnlyExampleTest is BaseVaultTest { updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); vm.stopPrank(); + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + // Add liquidity so bob has BPT to remove liquidity. uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); @@ -1145,6 +1160,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); + vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); From 56264ba4a6f18a06258efbd57621a4b8288eeb67 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 26 Jun 2025 12:43:59 +0100 Subject: [PATCH 42/64] fix tests and tweaks to logic --- .../hooks-quantamm/UpliftOnlyExample.sol | 46 ++--- .../test/foundry/UpliftExample.t.sol | 193 ++++++++++++------ 2 files changed, 149 insertions(+), 90 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index e93afa21..a123478c 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -2,6 +2,8 @@ pragma solidity >=0.8.24; +import "forge-std/console.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -162,14 +164,13 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { */ error TooManyDeposits(address pool, address depositor); - /** + /** * @notice To avoid Ddos issues, a single depositor can only deposit 100 times * @param pool The pool the depositor is attempting to deposit to * @param depositor The address of the depositor */ error TooFastDeposits(address pool, address depositor); - /** * @notice Attempted withdrawal of an NFT-associated position by an address that is not the owner. * @param withdrawer The address attempting to withdraw @@ -236,7 +237,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { revert TooManyDeposits(pool, msg.sender); } - if(currentLength > 0){ + if (currentLength > 0) { //There is a possibility that multiple deposits and transfers in the same block can be exploited. uint256 lastTimestamp = poolsFeeData[pool][msg.sender][currentLength - 1].blockTimestampDeposit; if (block.timestamp - lastTimestamp <= 1) { @@ -350,7 +351,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 ownerFee = hookFee; if (quantAMMFeeTake > 0) { - uint256 adminFee = hookFee * quantAMMFeeTake / 1e18; + uint256 adminFee = (hookFee * quantAMMFeeTake) / 1e18; ownerFee = hookFee - adminFee; address quantAMMAdmin = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(); _vault.sendTo(feeToken, quantAMMAdmin, adminFee); @@ -456,8 +457,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] memory, bytes memory userData ) public override onlyVault onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { - address userAddress = address(bytes20(userData)); - + address userAddress = IRouterCommon(router).getSender(); AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ pool: pool, bptAmountIn: bptAmountIn, @@ -486,37 +486,36 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; localData.feeDataArrayLength = feeDataArray.length; localData.amountLeft = bptAmountIn; + for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; - localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); uint256 feePerLP; - + // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value if (localData.lpTokenDepositValueChange > 0) { feePerLP = - (uint256(localData.lpTokenDepositValueChange) * (uint256(feeDataArray[i].upliftFeeBps) * 1e18)) / + (uint256(localData.lpTokenDepositValueChange) * uint256(feeDataArray[i].upliftFeeBps)) / 10000; } // if the pool has decreased in value since the deposit, the fee is calculated based on the base value - see wp else { //in most cases this should be a normal swap fee amount. - //there always myst be at least the swap fee amount to avoid deposit/withdraw attack surgace. + //there always must be at least the swap fee amount to avoid deposit/withdraw attack surgace. feePerLP = (uint256(minWithdrawalFeeBps) * 1e18) / 10000; } - if (feePerLP > (_MAX_UPLIFT_FEE_PERCENTAGE * 1e18) / 10000) { - feePerLP = (_MAX_UPLIFT_FEE_PERCENTAGE * 1e18) / 10000; + if (feePerLP > (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000) { + feePerLP = (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000; } // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next if (feeDataArray[i].amount <= localData.amountLeft) { uint256 depositAmount = feeDataArray[i].amount; - localData.feeAmount += (depositAmount * feePerLP); - + localData.feeAmount += depositAmount.mulDown(feePerLP); localData.amountLeft -= feeDataArray[i].amount; lpNFT.burn(feeDataArray[i].tokenID); @@ -529,13 +528,12 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } } else { feeDataArray[i].amount -= localData.amountLeft; - localData.feeAmount += (feePerLP * localData.amountLeft); + localData.feeAmount += localData.amountLeft.mulDown(feePerLP); break; } } - localData.feePercentage = (localData.feeAmount) / bptAmountIn; - + localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; localData.tokens = _vault.getPoolTokens(localData.pool); @@ -557,25 +555,21 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } if (localData.adminFeePercent > 0) { - for (uint256 i = 0; i < localData.accruedQuantAMMFees.length; i++) { - localData.accruedQuantAMMFees[i] += 1; - hookAdjustedAmountsOutRaw[i] -= 1; - } _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, to: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: localData.feeAmount.mulDown(localData.adminFeePercent) / 1e18, + minBptAmountOut: localData.feeAmount.mulDown(localData.adminFeePercent), kind: AddLiquidityKind.PROPORTIONAL, - userData: bytes("") + userData: userData }) ); emit ExitFeeCharged( userAddress, localData.pool, IERC20(localData.pool), - localData.feeAmount.mulDown(localData.adminFeePercent) / 1e18 + localData.feeAmount.mulDown(localData.adminFeePercent) ); } @@ -584,7 +578,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, - to: msg.sender, // It would mint BPTs to router, but it's a donation so no BPT is minted + to: address(this), // It would mint BPTs to router, but it's a donation so no BPT is minted maxAmountsIn: localData.accruedFees, // Donate all accrued fees back to the pool (i.e. to the LPs) minBptAmountOut: 0, // Donation does not return BPTs, any number above 0 will revert kind: AddLiquidityKind.DONATION, @@ -610,7 +604,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { if (poolAddress == address(0)) { revert TransferUpdateTokenIDInvalid(_from, _to, _tokenID); } - + if (poolsFeeData[poolAddress][_to].length >= 100) { revert TooManyDeposits(poolAddress, _to); } diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 8461f064..b6122d8a 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -3,6 +3,8 @@ pragma solidity ^0.8.24; import "forge-std/Test.sol"; +import "forge-std/console.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -16,6 +18,7 @@ import { } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; import { IVaultExtension } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol"; import { IVaultAdmin } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol"; +import { IVaultErrors } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol"; import { IVaultMock } from "@balancer-labs/v3-interfaces/contracts/test/IVaultMock.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; import { IHooks } from "@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol"; @@ -461,11 +464,18 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256 adminBptBefore = BalancerPoolToken(pool).balanceOf(admin); + + uint256 supplyBefore = BalancerPoolToken(pool).totalSupply(); + vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(bob); + uint256 adminBptAfter = BalancerPoolToken(pool).balanceOf(admin); + uint256 feeAmountAmountPercent = ((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); @@ -494,8 +504,12 @@ contract UpliftOnlyExampleTest is BaseVaultTest { "Pool's USDC amount is wrong" ); - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq(balancesBefore.poolSupply - balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); + //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain + assertEq( + balancesBefore.poolSupply - balancesAfter.poolSupply, + (bptAmount / 2) + (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)), + "BPT supply amount is wrong" + ); // Same happens with Vault balances: decrease by amountOut. assertEq( @@ -556,7 +570,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) / 2; + prices[i] = (int256(i) * 1e18) / 2; } updateWeightRunner.setMockPrices(pool, prices); @@ -570,46 +584,50 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 feeAmountAmountPercent = ((bptAmount / 2) * - ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); - // Bob gets original liquidity with no fee applied because of full decay. + uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; + uint256 amountOut = bptAmount / 2; + uint256 hookFee = amountOut.mulDown(exitFeePercentage); + assertEq( balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, + amountOut - hookFee, "bob's DAI amount is wrong" ); assertEq( balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, + amountOut - hookFee, "bob's USDC amount is wrong" ); // Pool balances decrease by amountOut. assertEq( balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, + amountOut - hookFee, "Pool's DAI amount is wrong" ); assertEq( balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Pool's USDC amount is wrong" ); //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq(balancesBefore.poolSupply - balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); + assertEq( + balancesBefore.poolSupply - balancesAfter.poolSupply, + bptAmount - hookFee, + "BPT supply amount is wrong" + ); // Same happens with Vault balances: decrease by amountOut. assertEq( balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, + amountOut - hookFee, "Vault's DAI amount is wrong" ); assertEq( balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Vault's USDC amount is wrong" ); @@ -674,55 +692,57 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 feeAmountAmountPercent = ((bptAmount / 2) * - ((uint256(upliftOnlyRouter.upliftFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); + uint256 valueAtDeposit = 0.5e18; // ← whatever you used when bob deposited + uint256 valueNow = 1e18; // ← current LP value you set with the oracle - /* - Bob has doubled his value. - Uplift fee is taken on only the uplift. - Given each BPT is worth double now, the fee is 2% of the original value. - Bob has 1000e18 in BPT, so the fee is 20e18. - Bob should get 980e18 in DAI and USDC. - */ + uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); + uint256 feePercentage = (upliftRatio * upliftOnlyRouter.upliftFeeBps()) / 10_000; + // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) + + uint256 amountOut = bptAmount / 2; + uint256 hookFee = amountOut.mulDown(feePercentage); // Bob gets original liquidity with no fee applied because of full decay. assertEq( balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, + amountOut - hookFee, "bob's DAI amount is wrong" ); assertEq( balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, + amountOut - hookFee, "bob's USDC amount is wrong" ); // Pool balances decrease by amountOut. assertEq( balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, + amountOut - hookFee, "Pool's DAI amount is wrong" ); assertEq( balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Pool's USDC amount is wrong" ); //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq(balancesBefore.poolSupply - balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); + assertEq( + balancesBefore.poolSupply - balancesAfter.poolSupply, + bptAmount - hookFee, + "BPT supply amount is wrong" + ); // Same happens with Vault balances: decrease by amountOut. assertEq( balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, + amountOut - hookFee, "Vault's DAI amount is wrong" ); assertEq( balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Vault's USDC amount is wrong" ); @@ -789,7 +809,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.CannotUseExternalRouter.selector, router)); + vm.expectRevert(abi.encodeWithSelector(IVaultErrors.SenderIsNotVault.selector, bob)); vm.startPrank(bob); upliftOnlyRouter.onAfterRemoveLiquidity( address(router), @@ -812,7 +832,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.CannotUseExternalRouter.selector, router)); + vm.expectRevert(abi.encodeWithSelector(IVaultErrors.SenderIsNotVault.selector, lp)); vm.startPrank(lp); upliftOnlyRouter.onAfterRemoveLiquidity( address(router), @@ -947,7 +967,9 @@ contract UpliftOnlyExampleTest is BaseVaultTest { } function testSetHookPassGreaterThanMaxFail(uint64 poolHookAmount) public { - uint64 boundFeeAmount = uint64(bound(poolHookAmount, uint64(_MAX_SWAP_FEE_PERCENTAGE) + 1, uint64(type(uint64).max))); + uint64 boundFeeAmount = uint64( + bound(poolHookAmount, uint64(_MAX_SWAP_FEE_PERCENTAGE) + 1, uint64(type(uint64).max)) + ); vm.startPrank(owner); vm.expectRevert("Above _MAX_SWAP_FEE_PERCENTAGE"); @@ -955,6 +977,51 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } + function testFeeCalculationCausesRevert() public { + vm.startPrank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMSwapFeeTake(5); //set admin fee to 5 basis points (same as min withdrawal fee) + vm.stopPrank(); + // Add liquidity so bob has BPT to remove liquidity. + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); + assertEq( + upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, + block.timestamp, + "bptAmount mapping should be 0" + ); + assertEq( + upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, + 500000000000000000, + "should match sum(amount * price)" + ); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + + int256[] memory prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices[i] = int256(i + 1) * 1.5e1; // Make the price 1.5 times higher + } + updateWeightRunner.setMockPrices(pool, prices); + + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + + vm.startPrank(bob); + vm.expectRevert( + abi.encodeWithSelector( + IVaultErrors.AmountInAboveMax.selector, + address(dai), + 83333333333333333, + 83333333333333166 + ) + ); + upliftOnlyRouter.removeLiquidityProportional(bptAmount / 3, minAmountsOut, false, pool); + vm.stopPrank(); + } + function testFeeSwapExactIn__Fuzz(uint256 swapAmount, uint64 hookFeePercentage) public { // Swap between POOL_MINIMUM_TOTAL_SUPPLY and whole pool liquidity (pool math is linear) swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); @@ -964,7 +1031,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.expectEmit(); emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); - + vm.prank(owner); UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); uint256 hookFee = swapAmount.mulUp(hookFeePercentage); @@ -1160,7 +1227,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); - vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); @@ -1264,7 +1330,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) / 2; + prices[i] = (int256(i) * 1e18) / 2; } updateWeightRunner.setMockPrices(pool, prices); @@ -1277,32 +1343,33 @@ contract UpliftOnlyExampleTest is BaseVaultTest { upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - - uint256 feeAmountAmountPercent = ((bptAmount / 2) * - ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); + // pool share without FixedPoint helpers (avoids double 1e18 division) + + uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; + uint256 amountOut = bptAmount / 2; + uint256 hookFee = amountOut.mulDown(exitFeePercentage); // Bob gets original liquidity with no fee applied because of full decay. assertEq( balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, + amountOut - hookFee, "bob's DAI amount is wrong" ); assertEq( balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, + amountOut - hookFee, "bob's USDC amount is wrong" ); // Pool balances decrease by amountOut. assertEq( balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, + amountOut - hookFee, "Pool's DAI amount is wrong" ); assertEq( balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Pool's USDC amount is wrong" ); @@ -1316,12 +1383,12 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // Same happens with Vault balances: decrease by amountOut. assertEq( balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, + amountOut - hookFee, "Vault's DAI amount is wrong" ); assertEq( balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Vault's USDC amount is wrong" ); @@ -1347,7 +1414,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { function testRemoveLiquidityWithProtocolTakeDoublePositivePriceChange() public { vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.05e18); vm.stopPrank(); // Add liquidity so bob has BPT to remove liquidity. uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); @@ -1385,40 +1452,38 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - uint256 feeAmountAmountPercent = ((bptAmount / 2) * - ((uint256(upliftOnlyRouter.upliftFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); + uint256 valueAtDeposit = 0.5e18; // ← whatever you used when bob deposited + uint256 valueNow = 1e18; // ← current LP value you set with the oracle - /* - Bob has doubled his value. - Uplift fee is taken on only the uplift. - Given each BPT is worth double now, the fee is 2% of the original value. - Bob has 1000e18 in BPT, so the fee is 20e18. - Bob should get 980e18 in DAI and USDC. - */ + uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); + uint256 feePercentage = (upliftRatio * upliftOnlyRouter.upliftFeeBps()) / 10_000; + // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) + + uint256 amountOut = bptAmount / 2; + uint256 hookFee = amountOut.mulDown(feePercentage); // Bob gets original liquidity with no fee applied because of full decay. assertEq( balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, + amountOut - hookFee, "bob's DAI amount is wrong" ); assertEq( balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, + amountOut - hookFee, "bob's USDC amount is wrong" ); // Pool balances decrease by amountOut. assertEq( balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, + amountOut - hookFee, "Pool's DAI amount is wrong" ); assertEq( balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Pool's USDC amount is wrong" ); @@ -1432,12 +1497,12 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // Same happens with Vault balances: decrease by amountOut. assertEq( balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, + amountOut - hookFee, "Vault's DAI amount is wrong" ); assertEq( balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, + amountOut - hookFee, "Vault's USDC amount is wrong" ); From 3f1a7be6696292c20e231955a4550797128aa50d Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 26 Jun 2025 13:16:58 +0100 Subject: [PATCH 43/64] remove build warnings --- .../contracts/deployment/admin-scripts/add_liquidity.sol | 2 +- .../contracts/deployment/admin-scripts/remove_liquidity.sol | 2 +- .../contracts/deployment/diagnostics/get_data.sol | 2 -- .../contracts/deployment/diagnostics/pool_check.sol | 2 -- .../deployment/pool-initialisation/initialise_pool.sol | 3 +-- .../deployment/pool-initialisation/initialise_pool_copy.sol | 2 +- .../contracts/deployment/pool-running/perform_swap.sol | 3 +-- .../contracts/deployment/pool-running/perform_update.sol | 2 -- 8 files changed, 5 insertions(+), 13 deletions(-) diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol index 2000e431..c987a3cf 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/add_liquidity.sol @@ -71,7 +71,7 @@ contract Deploy is Script { amountIn[2] = uint256(0); bytes memory userData = ""; - uint256 amountOut = IRouter(router).addLiquidityUnbalanced( + IRouter(router).addLiquidityUnbalanced( pool, amountIn, 0, diff --git a/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol b/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol index 86e133fa..ba9b43fc 100644 --- a/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol +++ b/pkg/pool-quantamm/contracts/deployment/admin-scripts/remove_liquidity.sol @@ -32,7 +32,7 @@ contract Deploy is Script { bytes memory userData = ""; - uint256[] memory amountIn = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).removeLiquidityProportional( + IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).removeLiquidityProportional( 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D, uint256(0.2646781979e18), minAmountsOut, diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol index 29e594b3..aaf23be1 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/get_data.sol @@ -26,8 +26,6 @@ contract Deploy is Script { using Strings for uint40; function run() external { - uint256 deployerPrivateKey; - // For dry runs, we don't need a private key vm.startBroadcast(); diff --git a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol index 12b7ab97..33d6e65b 100644 --- a/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol +++ b/pkg/pool-quantamm/contracts/deployment/diagnostics/pool_check.sol @@ -26,8 +26,6 @@ contract Deploy is Script { using Strings for uint40; function run() external { - uint256 deployerPrivateKey; - // For dry runs, we don't need a private key vm.startBroadcast(); diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol index 8d099a69..cf8776c5 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool.sol @@ -20,7 +20,6 @@ import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; contract Deploy is Script { function run() external { - uint256 deployerPrivateKey; // For dry runs, we don't need a private key vm.startBroadcast(); @@ -67,7 +66,7 @@ contract Deploy is Script { //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); - uint256 amountIn = IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).initialize( + IRouter(0xAE563E3f8219521950555F5962419C8919758Ea2).initialize( 0xd4Ed17bBF48Af09B87fD7d8C60970f5Da79D4852, tokenAddresses, weights, diff --git a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol index 94d38fc4..0ca28565 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-initialisation/initialise_pool_copy.sol @@ -85,7 +85,7 @@ contract Deploy is Script { //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0xff34b3d4aee8ddcd6f9afffb6fe49bd371b8a357), msg.sender, uint256(1)); //IVault(0xbA1333333333a1BA1108E8412f11850A5C319bA9).sendTo(IERC20(0x29f2D40B0605204364af54EC677bD022dA425d03), msg.sender, uint256(1)); - uint256 amountIn = IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( + IRouter(0x0BF61f706105EA44694f2e92986bD01C39930280).initialize( 0x6663545aF63bC3268785Cf859f0608506759EBe8, tokenAddresses, weights, diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol index 7efc63b7..b0e7624f 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_swap.sol @@ -22,7 +22,6 @@ import { SwapKind, VaultSwapParams } from "@balancer-labs/v3-interfaces/contract contract Deploy is Script { function run() external { - uint256 deployerPrivateKey; // For dry runs, we don't need a private key vm.startBroadcast(); @@ -62,7 +61,7 @@ contract Deploy is Script { //Approve router on Permit2 //IPermit2(permit2).approve(pool, router, type(uint160).max, type(uint48).max); - uint256 amountOut = IRouter(router).swapSingleTokenExactIn( + IRouter(router).swapSingleTokenExactIn( pool, // pool IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48), // tokenIn IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599), // tokenOut diff --git a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol index f2b35dcd..47a1e2ef 100644 --- a/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol +++ b/pkg/pool-quantamm/contracts/deployment/pool-running/perform_update.sol @@ -20,13 +20,11 @@ import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; contract Deploy is Script { function run() external { - uint256 deployerPrivateKey; // For dry runs, we don't need a private key vm.startBroadcast(); address pool = 0x314fDFAf8AD9b50fF105993C722a1826019Cf21D; - address rule = 0x62B9eC6A5BBEBe4F5C5f46C8A8880df857004295; address updateWeightRunnerAddress = 0x21Ae9576a393413D6d91dFE2543dCb548Dbb8748; UpdateWeightRunner(updateWeightRunnerAddress).performUpdate(pool); From e7b3dccfc290d77dab1b36c720a9c8b2777895e4 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 27 Jun 2025 17:50:22 +0100 Subject: [PATCH 44/64] fuzz test progress --- .../hooks-quantamm/UpliftOnlyExample.sol | 2 +- .../test/foundry/UpliftExample.t.sol | 356 +------ .../test/foundry/UpliftExampleFuzz.t.sol | 874 ++++++++++++++++++ 3 files changed, 905 insertions(+), 327 deletions(-) create mode 100644 pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index a123478c..0138086a 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -233,7 +233,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { bytes memory userData ) external payable saveSender(msg.sender) returns (uint256[] memory amountsIn) { uint256 currentLength = poolsFeeData[pool][msg.sender].length; - if (currentLength > 100) { + if (currentLength >= 100) { revert TooManyDeposits(pool, msg.sender); } diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index b6122d8a..02ecef5f 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -18,6 +18,7 @@ import { } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; import { IVaultExtension } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol"; import { IVaultAdmin } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol"; +import { IVaultExplorer } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExplorer.sol"; import { IVaultErrors } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol"; import { IVaultMock } from "@balancer-labs/v3-interfaces/contracts/test/IVaultMock.sol"; import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; @@ -66,7 +67,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { UpliftOnlyExample internal upliftOnlyRouter; - // Overrides `setUp` to include a deployment for UpliftOnlyExample. function setUp() public virtual override { BaseTest.setUp(); (address ownerLocal, address addr1Local, address addr2Local) = (vm.addr(1), vm.addr(2), vm.addr(3)); @@ -113,11 +113,9 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); vm.label(address(upliftOnlyRouter), "upliftOnlyRouter"); - // Here the Router is also the hook. poolHooksContract = address(upliftOnlyRouter); (pool, ) = createPool(); - // Approve vault allowances. for (uint256 i = 0; i < users.length; ++i) { address user = users[i]; vm.startPrank(user); @@ -210,7 +208,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - // Bob sends correct lp tokens assertEq( balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], amountsIn[daiIdx], @@ -221,7 +218,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { amountsIn[usdcIdx], "bob's USDC amount is wrong" ); - // Router should set correct lp data + uint256 expectedTokenId = 1; assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "deposit length incorrect"); @@ -240,95 +237,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(upliftOnlyRouter.nftPool(expectedTokenId), pool, "pool mapping is wrong"); - // Router should receive BPT instead of bob, he gets the NFT - assertEq( - BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), - bptAmount, - "UpliftOnlyRouter should hold BPT" - ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); - } - - function testAddLiquidityMultipleDeposits() public { - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - uint256[] memory amountsInFirst = upliftOnlyRouter.addLiquidityProportional( - pool, - maxAmountsIn, - bptAmount / 2, - false, - bytes("") - ); - vm.stopPrank(); - - int256[] memory prices = new int256[](2); - for (uint256 i = 0; i < 2; ++i) { - prices[i] = (int256(i) * 1e18) / 2; - } - updateWeightRunner.setMockPrices(pool, prices); - - skip(5 days); - - vm.prank(bob); - uint256[] memory amountsInSecond = upliftOnlyRouter.addLiquidityProportional( - pool, - maxAmountsIn, - bptAmount / 2, - false, - bytes("") - ); - vm.stopPrank(); - - uint256[] memory amountsIn = new uint256[](2); - for (uint256 i = 0; i < 2; ++i) { - amountsIn[i] = amountsInFirst[i] + amountsInSecond[i]; - } - - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - - // Bob sends correct lp tokens - assertEq( - balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], - amountsIn[daiIdx], - "bob's DAI amount is wrong" - ); - assertEq( - balancesBefore.bobTokens[usdcIdx] - balancesAfter.bobTokens[usdcIdx], - amountsIn[usdcIdx], - "bob's USDC amount is wrong" - ); - - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 2, "deposit length incorrect"); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount / 2, "bptAmount incorrect"); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, - 1682899200, - "blockTimestampDeposit incorrect" - ); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, - 500000000000000000, - "should match sum(amount * price)" - ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); - - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[1].amount, bptAmount / 2, "bptAmount incorrect"); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[1].blockTimestampDeposit, - 1683331200, - "blockTimestampDeposit incorrect" - ); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[1].lpTokenDepositValue, - 250000000000000000, - "should match sum(amount * price)" - ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[1].upliftFeeBps, 200, "fee"); - - assertEq(upliftOnlyRouter.nftPool(1), pool, "pool mapping is wrong"); - assertEq(upliftOnlyRouter.nftPool(2), pool, "pool mapping is wrong"); - // Router should receive BPT instead of bob, he gets the NFT assertEq( BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), bptAmount, @@ -342,7 +250,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.startPrank(bob); uint256 bptAmountDeposit = bptAmount / 150; for (uint256 i = 0; i < 150; i++) { - if (i == 101) { + if (i == 100) { vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.TooManyDeposits.selector, pool, bob)); upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmountDeposit, false, bytes("")); break; @@ -355,73 +263,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } - function testTransferDepositsAtRandom(uint256 seed, uint256 depositLength) public { - uint256 depositBound = bound(depositLength, 1, 10); - /** - * This can be changed to the max 98 however it takes some time! - * uint256 depositBound = bound(depositLength, 1, 98); - * [PASS] testTransferDepositsAtRandom(uint256,uint256) (runs: 10002, μ: 119097137, ~: 78857000) - Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1233.99s (1233.98s CPU time) - - Ran 1 test suite in 1234.00s (1233.99s CPU time): 1 tests passed, 0 failed, 0 skipped (1 total tests) - * - */ - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.startPrank(bob); - uint256 bptAmountDeposit = bptAmount / 150; - uint256[] memory tokenIndexArray = new uint256[](depositBound); - for (uint256 i = 0; i < depositBound; i++) { - tokenIndexArray[i] = i + 1; - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmountDeposit, false, bytes("")); - skip(1 days); - } - vm.stopPrank(); - - // Shuffle the array using the seed - uint[] memory shuffledArray = shuffle(tokenIndexArray, seed); - - LPNFT lpNft = upliftOnlyRouter.lpNFT(); - - for (uint256 i = 0; i < depositBound; i++) { - vm.startPrank(bob); - - lpNft.transferFrom(bob, alice, shuffledArray[i]); - UpliftOnlyExample.FeeData[] memory aliceFees = upliftOnlyRouter.getUserPoolFeeData(pool, alice); - UpliftOnlyExample.FeeData[] memory bobFees = upliftOnlyRouter.getUserPoolFeeData(pool, bob); - - assertEq(aliceFees.length, i + 1, "alice should have all transfers"); - assertEq( - aliceFees[aliceFees.length - 1].tokenID, - shuffledArray[i], - "last transferred tokenId should match" - ); - - assertEq(bobFees.length, depositBound - (i + 1), "bob should have all transferred last"); - - uint[] memory orderedArrayWithoutShuffled = new uint[](depositBound - (i + 1)); - uint lastPopulatedIndex = 0; - for (uint256 j = 1; j <= depositBound; j++) { - bool inPreviousShuffled = false; - for (uint256 k = 0; k < i + 1; k++) { - if (shuffledArray[k] == j) { - inPreviousShuffled = true; - break; - } - } - if (!inPreviousShuffled) { - orderedArrayWithoutShuffled[lastPopulatedIndex] = j; - lastPopulatedIndex++; - } - } - - for (uint256 j = 0; j < bobFees.length; j++) { - assertEq(bobFees[j].tokenID, orderedArrayWithoutShuffled[j], "bob should have ordered tokenID"); - } - - vm.stopPrank(); - } - } - //Function to generate a shuffled array of unique uints between 0 and 10 function shuffle(uint[] memory array, uint seed) internal pure returns (uint[] memory) { uint length = array.length; @@ -434,7 +275,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { } function testRemoveLiquidityNoPriceChange() public { - // Add liquidity so bob has BPT to remove liquidity. uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); @@ -452,6 +292,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { block.timestamp, "bptAmount mapping should be 0" ); + assertEq( upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, 500000000000000000, @@ -464,23 +305,15 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesBefore = getBalances(bob); - address admin = updateWeightRunner.getQuantAMMAdmin(); - uint256 adminBptBefore = BalancerPoolToken(pool).balanceOf(admin); - - uint256 supplyBefore = BalancerPoolToken(pool).totalSupply(); - vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 adminBptAfter = BalancerPoolToken(pool).balanceOf(admin); - uint256 feeAmountAmountPercent = ((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); - // Bob gets original liquidity with no fee applied because of full decay. assertEq( balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], amountOut, @@ -492,7 +325,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { "bob's USDC amount is wrong" ); - // Pool balances decrease by amountOut. assertEq( balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], amountOut, @@ -504,35 +336,27 @@ contract UpliftOnlyExampleTest is BaseVaultTest { "Pool's USDC amount is wrong" ); - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain assertEq( balancesBefore.poolSupply - balancesAfter.poolSupply, (bptAmount / 2) + (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)), "BPT supply amount is wrong" ); - // Same happens with Vault balances: decrease by amountOut. assertEq( balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], amountOut, "Vault's DAI amount is wrong" ); + assertEq( balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], amountOut, "Vault's USDC amount is wrong" ); - // Hook balances remain unchanged. assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); - - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); assertEq( @@ -543,8 +367,31 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); } + function _grossTokenOut( + uint256 poolReservesBefore, + uint256 poolSupplyBefore, + uint256 bptIn + ) internal pure returns (uint256) { + return (poolReservesBefore * bptIn) / poolSupplyBefore; + } + + /// @dev Net amount after charging `feeBps` (0 … 10_000). + function _netAfterFee(uint256 grossAmount, uint256 feeBps) internal pure returns (uint256) { + return grossAmount - (grossAmount * feeBps) / 10_000; + } + + function _approveAllUsers() internal { + for (uint256 i; i < users.length; ++i) { + vm.startPrank(users[i]); + approveForSender(); + vm.stopPrank(); + } + if (pool != address(0)) { + approveForPool(IERC20(pool)); + } + } + function testRemoveLiquidityNegativePriceChange() public { - // Add liquidity so bob has BPT to remove liquidity. uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); @@ -1022,149 +869,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } - function testFeeSwapExactIn__Fuzz(uint256 swapAmount, uint64 hookFeePercentage) public { - // Swap between POOL_MINIMUM_TOTAL_SUPPLY and whole pool liquidity (pool math is linear) - swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); - - // Fee between 0 and 100% - hookFeePercentage = uint64(bound(hookFeePercentage, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); - - vm.expectEmit(); - emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); - uint256 hookFee = swapAmount.mulUp(hookFeePercentage); - - BaseVaultTest.Balances memory balancesBefore = getBalances(owner); - - vm.prank(bob); - vm.expectCall( - address(poolHooksContract), - abi.encodeCall( - IHooks.onAfterSwap, - AfterSwapParams({ - kind: SwapKind.EXACT_IN, - tokenIn: dai, - tokenOut: usdc, - amountInScaled18: swapAmount, - amountOutScaled18: swapAmount, - tokenInBalanceScaled18: poolInitAmount + swapAmount, - tokenOutBalanceScaled18: poolInitAmount - swapAmount, - amountCalculatedScaled18: swapAmount, - amountCalculatedRaw: swapAmount, - router: address(router), - pool: pool, - userData: bytes("") - }) - ) - ); - - if (hookFee > 0) { - vm.expectEmit(); - emit UpliftOnlyExample.SwapHookFeeCharged(poolHooksContract, IERC20(usdc), hookFee); - } - - router.swapSingleTokenExactIn(address(pool), dai, usdc, swapAmount, 0, MAX_UINT256, false, bytes("")); - - BaseVaultTest.Balances memory balancesAfter = getBalances(owner); - - assertEq( - balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], - swapAmount, - "Bob DAI balance is wrong" - ); - assertEq(balancesBefore.userTokens[daiIdx], balancesAfter.userTokens[daiIdx], "Hook DAI balance is wrong"); - assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - swapAmount - hookFee, - "Bob USDC balance is wrong" - ); - assertEq( - balancesAfter.userTokens[usdcIdx] - balancesBefore.userTokens[usdcIdx], - hookFee, - "Hook USDC balance is wrong" - ); - - _checkPoolAndVaultBalancesAfterSwap(balancesBefore, balancesAfter, swapAmount); - } - - function testFeeSwapExactOut__Fuzz(uint256 swapAmount, uint64 hookFeePercentage) public { - // Swap between POOL_MINIMUM_TOTAL_SUPPLY and whole pool liquidity (pool math is linear) - swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); - - // Fee between 0 and 100% - hookFeePercentage = uint64(bound(hookFeePercentage, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); - - vm.expectEmit(); - emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); - uint256 hookFee = swapAmount.mulUp(hookFeePercentage); - - BaseVaultTest.Balances memory balancesBefore = getBalances(owner); - - vm.prank(bob); - vm.expectCall( - address(poolHooksContract), - abi.encodeCall( - IHooks.onAfterSwap, - AfterSwapParams({ - kind: SwapKind.EXACT_OUT, - tokenIn: dai, - tokenOut: usdc, - amountInScaled18: swapAmount, - amountOutScaled18: swapAmount, - tokenInBalanceScaled18: poolInitAmount + swapAmount, - tokenOutBalanceScaled18: poolInitAmount - swapAmount, - amountCalculatedScaled18: swapAmount, - amountCalculatedRaw: swapAmount, - router: address(router), - pool: pool, - userData: bytes("") - }) - ) - ); - - if (hookFee > 0) { - vm.expectEmit(); - emit UpliftOnlyExample.SwapHookFeeCharged(poolHooksContract, IERC20(dai), hookFee); - } - - router.swapSingleTokenExactOut( - address(pool), - dai, - usdc, - swapAmount, - MAX_UINT256, - MAX_UINT256, - false, - bytes("") - ); - - BaseVaultTest.Balances memory balancesAfter = getBalances(owner); - - assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - swapAmount, - "Bob USDC balance is wrong" - ); - assertEq(balancesBefore.userTokens[usdcIdx], balancesAfter.userTokens[usdcIdx], "Hook USDC balance is wrong"); - assertEq( - balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], - swapAmount + hookFee, - "Bob DAI balance is wrong" - ); - assertEq( - balancesAfter.userTokens[daiIdx] - balancesBefore.userTokens[daiIdx], - hookFee, - "Hook DAI balance is wrong" - ); - - _checkPoolAndVaultBalancesAfterSwap(balancesBefore, balancesAfter, swapAmount); - } - function _checkPoolAndVaultBalancesAfterSwap( BaseVaultTest.Balances memory balancesBefore, BaseVaultTest.Balances memory balancesAfter, @@ -1344,7 +1048,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); // pool share without FixedPoint helpers (avoids double 1e18 division) - + uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; uint256 amountOut = bptAmount / 2; uint256 hookFee = amountOut.mulDown(exitFeePercentage); diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol new file mode 100644 index 00000000..26dd924c --- /dev/null +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -0,0 +1,874 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; + +import "forge-std/Test.sol"; +import "forge-std/console.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; + +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +import { + LiquidityManagement, + PoolRoleAccounts, + RemoveLiquidityKind, + AfterSwapParams, + SwapKind, + AddLiquidityKind +} from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; +import { IVaultExtension } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExtension.sol"; +import { IVaultAdmin } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol"; +import { IVaultExplorer } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExplorer.sol"; +import { IVaultErrors } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultErrors.sol"; +import { IVaultMock } from "@balancer-labs/v3-interfaces/contracts/test/IVaultMock.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IHooks } from "@balancer-labs/v3-interfaces/contracts/vault/IHooks.sol"; + +import { CastingHelpers } from "@balancer-labs/v3-solidity-utils/contracts/helpers/CastingHelpers.sol"; +import { BasicAuthorizerMock } from "@balancer-labs/v3-vault/contracts/test/BasicAuthorizerMock.sol"; +import { ArrayHelpers } from "@balancer-labs/v3-solidity-utils/contracts/test/ArrayHelpers.sol"; +import { FixedPoint } from "@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol"; +import { BaseTest } from "@balancer-labs/v3-solidity-utils/test/foundry/utils/BaseTest.sol"; +import { BaseVaultTest } from "@balancer-labs/v3-vault/test/foundry/utils/BaseVaultTest.sol"; + +import { BatchRouterMock } from "@balancer-labs/v3-vault/contracts/test/BatchRouterMock.sol"; +import { PoolFactoryMock } from "@balancer-labs/v3-vault/contracts/test/PoolFactoryMock.sol"; +import { BalancerPoolToken } from "@balancer-labs/v3-vault/contracts/BalancerPoolToken.sol"; +import { RouterMock } from "@balancer-labs/v3-vault/contracts/test/RouterMock.sol"; +import { PoolMock } from "@balancer-labs/v3-vault/contracts/test/PoolMock.sol"; + +import { MockUpdateWeightRunner } from "pool-quantamm/contracts/mock/MockUpdateWeightRunner.sol"; + +import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; + +import { UpliftOnlyExample } from "../../contracts/hooks-quantamm/UpliftOnlyExample.sol"; +import { LPNFT } from "../../contracts/hooks-quantamm/LPNFT.sol"; + +contract UpliftOnlyExampleFuzzTest is BaseVaultTest { + using CastingHelpers for address[]; + using ArrayHelpers for *; + using FixedPoint for uint256; + + uint256 internal daiIdx; + uint256 internal usdcIdx; + + address internal owner; + address internal addr1; + address internal addr2; + + uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; + uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; + uint64 private constant _MAX_UPLIFT_WITHDRAWAL_FEE = 20e16; + + uint256 internal constant DEFAULT_AMP_FACTOR = 200; + + MockUpdateWeightRunner internal updateWeightRunner; + + UpliftOnlyExample internal upliftOnlyRouter; + + function setUp() public virtual override { + BaseTest.setUp(); + (address ownerLocal, address addr1Local, address addr2Local) = (vm.addr(1), vm.addr(2), vm.addr(3)); + owner = ownerLocal; + addr1 = addr1Local; + addr2 = addr2Local; + + vault = deployVaultMock(); + vm.label(address(vault), "vault"); + vaultExtension = IVaultExtension(vault.getVaultExtension()); + vm.label(address(vaultExtension), "vaultExtension"); + vaultAdmin = IVaultAdmin(vault.getVaultAdmin()); + vm.label(address(vaultAdmin), "vaultAdmin"); + authorizer = BasicAuthorizerMock(address(vault.getAuthorizer())); + vm.label(address(authorizer), "authorizer"); + factoryMock = PoolFactoryMock(address(vault.getPoolFactoryMock())); + vm.label(address(factoryMock), "factory"); + router = deployRouterMock(IVault(address(vault)), weth, permit2); + vm.label(address(router), "router"); + batchRouter = deployBatchRouterMock(IVault(address(vault)), weth, permit2); + vm.label(address(batchRouter), "batch router"); + feeController = vault.getProtocolFeeController(); + vm.label(address(feeController), "fee controller"); + + vm.startPrank(address(vaultAdmin)); + updateWeightRunner = new MockUpdateWeightRunner(address(vaultAdmin), address(addr2), true); + vm.label(address(updateWeightRunner), "updateWeightRunner"); + updateWeightRunner.setQuantAMMSwapFeeTake(0); + + vm.stopPrank(); + + vm.startPrank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + 200, + 5, + address(updateWeightRunner), + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1" + ); + vm.stopPrank(); + vm.label(address(upliftOnlyRouter), "upliftOnlyRouter"); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + + for (uint256 i = 0; i < users.length; ++i) { + address user = users[i]; + vm.startPrank(user); + approveForSender(); + vm.stopPrank(); + } + if (pool != address(0)) { + approveForPool(IERC20(pool)); + } + + initPool(); + + (daiIdx, usdcIdx) = getSortedIndexes(address(dai), address(usdc)); + } + + function approveForSender() internal override { + for (uint256 i = 0; i < tokens.length; ++i) { + tokens[i].approve(address(permit2), type(uint256).max); + permit2.approve(address(tokens[i]), address(router), type(uint160).max, type(uint48).max); + permit2.approve(address(tokens[i]), address(batchRouter), type(uint160).max, type(uint48).max); + permit2.approve(address(tokens[i]), address(upliftOnlyRouter), type(uint160).max, type(uint48).max); + } + } + + // Overrides approval to include upliftOnlyRouter. + function approveForPool(IERC20 bpt) internal override { + for (uint256 i = 0; i < users.length; ++i) { + vm.startPrank(users[i]); + + bpt.approve(address(router), type(uint256).max); + bpt.approve(address(batchRouter), type(uint256).max); + bpt.approve(address(upliftOnlyRouter), type(uint256).max); + + IERC20(bpt).approve(address(permit2), type(uint256).max); + permit2.approve(address(bpt), address(router), type(uint160).max, type(uint48).max); + permit2.approve(address(bpt), address(batchRouter), type(uint160).max, type(uint48).max); + permit2.approve(address(bpt), address(upliftOnlyRouter), type(uint160).max, type(uint48).max); + + vm.stopPrank(); + } + } + + // Overrides pool creation to set liquidityManagement (disables unbalanced liquidity). + function _createPool( + address[] memory tokens, + string memory label + ) internal override returns (address newPool, bytes memory poolArgs) { + string memory name = "Uplift Pool"; + string memory symbol = "Uplift Pool"; + + newPool = address(deployPoolMock(IVault(address(vault)), name, symbol)); + vm.label(newPool, label); + int256[] memory prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices[i] = int256(i) * 1e18; + } + updateWeightRunner.setMockPrices(address(newPool), prices); + + PoolRoleAccounts memory roleAccounts; + roleAccounts.poolCreator = lp; + + LiquidityManagement memory liquidityManagement; + liquidityManagement.disableUnbalancedLiquidity = true; + liquidityManagement.enableDonation = true; + + factoryMock.registerPool( + newPool, + vault.buildTokenConfig(tokens.asIERC20()), + roleAccounts, + poolHooksContract, + liquidityManagement + ); + + poolArgs = abi.encode(vault, name, symbol); + } + + function testFuzz_AddLiquidity(uint96 fuzzBptOut) public { + uint256 poolSupply = BalancerPoolToken(pool).totalSupply(); + + uint256 maxMint = poolSupply == 0 ? type(uint96).max : poolSupply / 10; + uint256 bptOut = bound(uint256(fuzzBptOut), 1, maxMint); + + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + BaseVaultTest.Balances memory before = getBalances(bob); + uint256 supplyBefore = poolSupply; + + bytes4 AMOUNT_IN_ABOVE_MAX_SELECTOR = bytes4(keccak256("AmountInAboveMax(address,uint256,uint256)")); + uint256[] memory amountsIn; + + vm.startPrank(bob); + (bool ok, bytes memory ret) = address(upliftOnlyRouter).call( + abi.encodeWithSelector( + upliftOnlyRouter.addLiquidityProportional.selector, + pool, + maxAmountsIn, + bptOut, + false, + bytes("") + ) + ); + vm.stopPrank(); + + if (!ok) { + bytes4 sel; + assembly { + sel := mload(add(ret, 32)) + } + assertEq(sel, AMOUNT_IN_ABOVE_MAX_SELECTOR, "unexpected revert"); + return; + } + + amountsIn = abi.decode(ret, (uint256[])); + + BaseVaultTest.Balances memory after_ = getBalances(bob); + uint256 supplyAfter = BalancerPoolToken(pool).totalSupply(); + + assertEq(before.bobTokens[daiIdx] - after_.bobTokens[daiIdx], amountsIn[daiIdx], "DAI spent mismatch"); + assertEq(before.bobTokens[usdcIdx] - after_.bobTokens[usdcIdx], amountsIn[usdcIdx], "USDC spent mismatch"); + + assertEq(supplyAfter - supplyBefore, bptOut, "BPT minted mismatch"); + + UpliftOnlyExample.FeeData memory fd = upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0]; + + assertEq(fd.amount, bptOut, "recorded BPT amount wrong"); + assertEq(fd.upliftFeeBps, upliftOnlyRouter.upliftFeeBps(), "upliftFeeBps wrong"); + assertEq(upliftOnlyRouter.nftPool(fd.tokenID), pool, "nftPool lookup wrong"); + + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), bptOut, "router BPT balance wrong"); + assertEq(after_.bobBpt, 0, "Bob should hold no BPT (NFT represents position)"); + } + + function testFuzz_DepositLimit(uint8 depositCountFuzz, uint96 bptPerDepositFuzz) public { + uint256 depositCount = bound(uint256(depositCountFuzz), 1, 120); + + uint256 poolSupply = BalancerPoolToken(pool).totalSupply(); + uint256 bptPerDeposit = bound(uint256(bptPerDepositFuzz), 1, poolSupply == 0 ? 1e18 : poolSupply / 1000); + + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.startPrank(bob); + + for (uint256 i; i < depositCount; ++i) { + if (i >= 100) { + vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.TooManyDeposits.selector, pool, bob)); + } + + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptPerDeposit, false, bytes("")); + + if (i >= 100) break; + + skip(2 seconds); + } + + vm.stopPrank(); + + uint256 expectedDeposits = depositCount > 100 ? 100 : depositCount; + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, expectedDeposits, "FeeData length mismatch"); + } + + function testFuzz_TransferDepositsAtRandom(uint256 seed, uint256 depositLength) public { + uint256 depositBound = bound(depositLength, 1, 10); + /** + * This can be changed to the max 98 however it takes some time! + * uint256 depositBound = bound(depositLength, 1, 98); + * [PASS] testTransferDepositsAtRandom(uint256,uint256) (runs: 10002, μ: 119097137, ~: 78857000) + Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1233.99s (1233.98s CPU time) + + Ran 1 test suite in 1234.00s (1233.99s CPU time): 1 tests passed, 0 failed, 0 skipped (1 total tests) + * + */ + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.startPrank(bob); + uint256 bptAmountDeposit = bptAmount / 150; + uint256[] memory tokenIndexArray = new uint256[](depositBound); + for (uint256 i = 0; i < depositBound; i++) { + tokenIndexArray[i] = i + 1; + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmountDeposit, false, bytes("")); + skip(1 days); + } + vm.stopPrank(); + + // Shuffle the array using the seed + uint[] memory shuffledArray = shuffle(tokenIndexArray, seed); + + LPNFT lpNft = upliftOnlyRouter.lpNFT(); + + for (uint256 i = 0; i < depositBound; i++) { + vm.startPrank(bob); + + lpNft.transferFrom(bob, alice, shuffledArray[i]); + UpliftOnlyExample.FeeData[] memory aliceFees = upliftOnlyRouter.getUserPoolFeeData(pool, alice); + UpliftOnlyExample.FeeData[] memory bobFees = upliftOnlyRouter.getUserPoolFeeData(pool, bob); + + assertEq(aliceFees.length, i + 1, "alice should have all transfers"); + assertEq( + aliceFees[aliceFees.length - 1].tokenID, + shuffledArray[i], + "last transferred tokenId should match" + ); + + assertEq(bobFees.length, depositBound - (i + 1), "bob should have all transferred last"); + + uint[] memory orderedArrayWithoutShuffled = new uint[](depositBound - (i + 1)); + uint lastPopulatedIndex = 0; + for (uint256 j = 1; j <= depositBound; j++) { + bool inPreviousShuffled = false; + for (uint256 k = 0; k < i + 1; k++) { + if (shuffledArray[k] == j) { + inPreviousShuffled = true; + break; + } + } + if (!inPreviousShuffled) { + orderedArrayWithoutShuffled[lastPopulatedIndex] = j; + lastPopulatedIndex++; + } + } + + for (uint256 j = 0; j < bobFees.length; j++) { + assertEq(bobFees[j].tokenID, orderedArrayWithoutShuffled[j], "bob should have ordered tokenID"); + } + + vm.stopPrank(); + } + } + + //Function to generate a shuffled array of unique uints between 0 and 10 + function shuffle(uint[] memory array, uint seed) internal pure returns (uint[] memory) { + uint length = array.length; + for (uint i = length - 1; i > 0; i--) { + uint j = seed % (i + 1); // Pseudo-random index based on the seed + (array[i], array[j]) = (array[j], array[i]); // Swap elements + seed /= (i + 1); // Adjust seed to vary indices in next iteration + } + return array; + } + + function _grossTokenOut( + uint256 poolReservesBefore, + uint256 poolSupplyBefore, + uint256 bptIn + ) internal pure returns (uint256) { + return (poolReservesBefore * bptIn) / poolSupplyBefore; + } + + /// @dev Net amount after charging `feeBps` (0 … 10_000). + function _netAfterFee(uint256 grossAmount, uint256 feeBps) internal pure returns (uint256) { + return grossAmount - (grossAmount * feeBps) / 10_000; + } + + function testFuzz_removeLiquidity_noProtocolTake(uint16 withdrawalFeeBps) public { + _runFuzz(withdrawalFeeBps, 0); + } + + function testFuzz_removeLiquidity_withProtocolTake(uint16 withdrawalFeeBps, uint64 protocolTakeE18) public { + _runFuzz(withdrawalFeeBps, protocolTakeE18); + } + + struct FuzzParams { + uint256 grossDai; + uint256 grossUsdc; + uint256 expectedDai; + uint256 expectedUsdc; + uint256 expectedNet; + uint256 upliftBpt; + uint256 protoShare; + uint256 routerKeep; + uint256 expectedRouterBpt; + } + + function _runFuzz(uint16 withdrawalFeeBps, uint64 protocolTakeE18) internal { + withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); + protocolTakeE18 = uint64(bound(protocolTakeE18, 0, 1e18)); + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); + vm.stopPrank(); + + vm.startPrank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + withdrawalFeeBps, + 5, + address(updateWeightRunner), + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1" + ); + vm.stopPrank(); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); /* Bob’s current balances */ + + uint256 bobDai = dai.balanceOf(bob); + uint256 bobUsdc = usdc.balanceOf(bob); + + uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); + vm.stopPrank(); + + uint256 withdrawBpt = bptAmount / 2; + uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); + + BaseVaultTest.Balances memory before = getBalances(bob); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(withdrawBpt, minsOut, false, pool); + vm.stopPrank(); + + BaseVaultTest.Balances memory after_ = getBalances(bob); + + FuzzParams memory params; + + params.grossDai = _grossTokenOut(before.poolTokens[daiIdx], before.poolSupply, withdrawBpt); + params.grossUsdc = _grossTokenOut(before.poolTokens[usdcIdx], before.poolSupply, withdrawBpt); + + uint256 feeBps = upliftOnlyRouter.minWithdrawalFeeBps(); // ← always 5 + params.expectedDai = _netAfterFee(params.grossDai, feeBps); + params.expectedUsdc = _netAfterFee(params.grossUsdc, feeBps); + + assertApproxEqAbs( + after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], + params.expectedDai, + 1, + "bob DAI mismatch" + ); + + assertApproxEqAbs( + after_.bobTokens[usdcIdx] - before.bobTokens[usdcIdx], + params.expectedUsdc, + 1, + "bob USDC mismatch" + ); + + params.expectedNet = _netAfterFee(withdrawBpt, feeBps); + + params.upliftBpt = withdrawBpt - params.expectedNet; + params.protoShare = (params.upliftBpt * protocolTakeE18) / 1e18; + params.routerKeep = params.upliftBpt - params.protoShare; + + assertEq(before.poolSupply - after_.poolSupply, withdrawBpt - params.protoShare, "pool supply mismatch"); + + params.expectedRouterBpt = bptAmount - withdrawBpt; + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); + + assertEq(after_.userBpt, params.protoShare, "admin BPT"); + assertEq(after_.bobBpt, 0, "bob BPT"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); + } + + function _approveAllUsers() internal { + for (uint256 i; i < users.length; ++i) { + vm.startPrank(users[i]); + approveForSender(); + vm.stopPrank(); + } + if (pool != address(0)) { + approveForPool(IERC20(pool)); + } + } + + function testFuzz_FeeSwapExactIn(uint256 swapAmount, uint64 hookFeePercentage) public { + swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); + + hookFeePercentage = uint64(bound(hookFeePercentage, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); + + vm.expectEmit(); + emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); + uint256 hookFee = swapAmount.mulUp(hookFeePercentage); + + BaseVaultTest.Balances memory balancesBefore = getBalances(owner); + + vm.prank(bob); + vm.expectCall( + address(poolHooksContract), + abi.encodeCall( + IHooks.onAfterSwap, + AfterSwapParams({ + kind: SwapKind.EXACT_IN, + tokenIn: dai, + tokenOut: usdc, + amountInScaled18: swapAmount, + amountOutScaled18: swapAmount, + tokenInBalanceScaled18: poolInitAmount + swapAmount, + tokenOutBalanceScaled18: poolInitAmount - swapAmount, + amountCalculatedScaled18: swapAmount, + amountCalculatedRaw: swapAmount, + router: address(router), + pool: pool, + userData: bytes("") + }) + ) + ); + + if (hookFee > 0) { + vm.expectEmit(); + emit UpliftOnlyExample.SwapHookFeeCharged(poolHooksContract, IERC20(usdc), hookFee); + } + + router.swapSingleTokenExactIn(address(pool), dai, usdc, swapAmount, 0, MAX_UINT256, false, bytes("")); + + BaseVaultTest.Balances memory balancesAfter = getBalances(owner); + + assertEq( + balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], + swapAmount, + "Bob DAI balance is wrong" + ); + assertEq(balancesBefore.userTokens[daiIdx], balancesAfter.userTokens[daiIdx], "Hook DAI balance is wrong"); + assertEq( + balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], + swapAmount - hookFee, + "Bob USDC balance is wrong" + ); + assertEq( + balancesAfter.userTokens[usdcIdx] - balancesBefore.userTokens[usdcIdx], + hookFee, + "Hook USDC balance is wrong" + ); + + _checkPoolAndVaultBalancesAfterSwap(balancesBefore, balancesAfter, swapAmount); + } + + function testFuzz_FeeSwapExactOut(uint256 swapAmount, uint64 hookFeePercentage) public { + swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); + + hookFeePercentage = uint64(bound(hookFeePercentage, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); + + vm.expectEmit(); + emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); + uint256 hookFee = swapAmount.mulUp(hookFeePercentage); + + BaseVaultTest.Balances memory balancesBefore = getBalances(owner); + + vm.prank(bob); + vm.expectCall( + address(poolHooksContract), + abi.encodeCall( + IHooks.onAfterSwap, + AfterSwapParams({ + kind: SwapKind.EXACT_OUT, + tokenIn: dai, + tokenOut: usdc, + amountInScaled18: swapAmount, + amountOutScaled18: swapAmount, + tokenInBalanceScaled18: poolInitAmount + swapAmount, + tokenOutBalanceScaled18: poolInitAmount - swapAmount, + amountCalculatedScaled18: swapAmount, + amountCalculatedRaw: swapAmount, + router: address(router), + pool: pool, + userData: bytes("") + }) + ) + ); + + if (hookFee > 0) { + vm.expectEmit(); + emit UpliftOnlyExample.SwapHookFeeCharged(poolHooksContract, IERC20(dai), hookFee); + } + + router.swapSingleTokenExactOut( + address(pool), + dai, + usdc, + swapAmount, + MAX_UINT256, + MAX_UINT256, + false, + bytes("") + ); + + BaseVaultTest.Balances memory balancesAfter = getBalances(owner); + + assertEq( + balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], + swapAmount, + "Bob USDC balance is wrong" + ); + assertEq(balancesBefore.userTokens[usdcIdx], balancesAfter.userTokens[usdcIdx], "Hook USDC balance is wrong"); + assertEq( + balancesBefore.bobTokens[daiIdx] - balancesAfter.bobTokens[daiIdx], + swapAmount + hookFee, + "Bob DAI balance is wrong" + ); + assertEq( + balancesAfter.userTokens[daiIdx] - balancesBefore.userTokens[daiIdx], + hookFee, + "Hook DAI balance is wrong" + ); + + _checkPoolAndVaultBalancesAfterSwap(balancesBefore, balancesAfter, swapAmount); + } + + function _checkPoolAndVaultBalancesAfterSwap( + BaseVaultTest.Balances memory balancesBefore, + BaseVaultTest.Balances memory balancesAfter, + uint256 poolBalanceChange + ) private view { + assertEq( + balancesAfter.poolTokens[daiIdx] - balancesBefore.poolTokens[daiIdx], + poolBalanceChange, + "Pool DAI balance is wrong" + ); + assertEq( + balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], + poolBalanceChange, + "Pool USDC balance is wrong" + ); + assertEq( + balancesAfter.vaultTokens[daiIdx] - balancesBefore.vaultTokens[daiIdx], + poolBalanceChange, + "Vault DAI balance is wrong" + ); + assertEq( + balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], + poolBalanceChange, + "Vault USDC balance is wrong" + ); + } + + function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps) public { + _runFuzzNegative(withdrawalFeeBps, 0); + } + + function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( + uint16 withdrawalFeeBps, + uint64 protocolTakeE18 + ) public { + _runFuzzNegative(withdrawalFeeBps, protocolTakeE18); + } + + struct FuzzNegativeParams { + uint256 amountOut; + uint256 hookFee; + uint256 upliftBpt; + uint256 protoShare; + uint256 routerKeep; + } + + function _runFuzzNegative(uint16 withdrawalFeeBps, uint64 protocolTakeE18) internal { + withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); + protocolTakeE18 = uint64(bound(protocolTakeE18, 0, 1e18)); + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); + vm.stopPrank(); + + vm.startPrank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + withdrawalFeeBps, + 5, + address(updateWeightRunner), + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1" + ); + vm.stopPrank(); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + + uint256 bobDai = dai.balanceOf(bob); + uint256 bobUsdc = usdc.balanceOf(bob); + uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); // small head-room + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); + vm.stopPrank(); + + int256[] memory prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) { + prices[i] = (int256(i) * 1e18) / 2; // half previous price + } + updateWeightRunner.setMockPrices(pool, prices); + + uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); + + BaseVaultTest.Balances memory before = getBalances( + protocolTakeE18 == 0 ? bob : updateWeightRunner.getQuantAMMAdmin() + ); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); + vm.stopPrank(); + + BaseVaultTest.Balances memory after_ = getBalances( + protocolTakeE18 == 0 ? bob : updateWeightRunner.getQuantAMMAdmin() + ); + + FuzzNegativeParams memory params; + + params.amountOut = bptAmount / 2; + + uint64 exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; // 5 → 5 × 1e14 = 5e14 + params.hookFee = params.amountOut.mulDown(exitFeePctE18); + + assertEq( + after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], + params.amountOut - params.hookFee, + "bob DAI wrong" + ); + assertEq( + after_.bobTokens[usdcIdx] - before.bobTokens[usdcIdx], + params.amountOut - params.hookFee, + "bob USDC wrong" + ); + + assertEq( + before.poolTokens[daiIdx] - after_.poolTokens[daiIdx], + params.amountOut - params.hookFee, + "pool DAI wrong" + ); + assertEq( + before.poolTokens[usdcIdx] - after_.poolTokens[usdcIdx], + params.amountOut - params.hookFee, + "pool USDC wrong" + ); + + params.upliftBpt = params.hookFee; + params.protoShare = (params.upliftBpt * protocolTakeE18) / 1e18; + params.routerKeep = params.upliftBpt - params.protoShare; + + assertEq(before.poolSupply - after_.poolSupply, bptAmount - params.protoShare, "pool supply wrong"); + + assertEq(after_.userBpt, params.protoShare, "admin BPT wrong"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); + + assertEq(after_.bobBpt, 0, "bob still holds BPT"); + } + + /* ──────────────────────────── FUZZ: POSITIVE P&L ─────────────────────────── */ + + function testFuzz_removeLiquidityPositive_noProtocolTake(uint16 withdrawalFeeBps_, uint256 priceMulE18_) public { + _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_); + } + + function testFuzz_removeLiquidityPositive_withProtocolTake( + uint16 withdrawalFeeBps_, + uint64 protocolTakeE18_, + uint256 priceMulE18_ + ) public { + _runPositiveFuzz(withdrawalFeeBps_, protocolTakeE18_, priceMulE18_); + } + + function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint64 protocolTakeE18_, uint256 priceMulE18_) internal { + /* ──────── bounds ──────── */ + withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 0, 50)); + protocolTakeE18_ = uint64(bound(protocolTakeE18_, 0, 1e18)); + priceMulE18_ = bound(priceMulE18_, 1e18, 10_000e18); + + /* ──────── fresh router ──────── */ + vm.prank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + withdrawalFeeBps_, // upliftFeeBps + 5, // minWithdrawalFeeBps (5 bps, constant) + address(updateWeightRunner), + "Uplift LP v1", + "Uplift LP v1", + "Uplift LP v1" + ); + vm.stopPrank(); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); + + /* ──────── deposit (bob) ──────── */ + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); + vm.stopPrank(); + + /* ──────── pretend price ↑ ──────── */ + int256[] memory prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) prices[i] = int256(i) * int256(priceMulE18_); + updateWeightRunner.setMockPrices(pool, prices); + + /* ──────── withdraw ──────── */ + uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); + address observer = protocolTakeE18_ == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); + + BaseVaultTest.Balances memory before = getBalances(observer); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); + vm.stopPrank(); + + BaseVaultTest.Balances memory after_ = getBalances(observer); + + uint256 upliftRatioE18 = ((priceMulE18_ - 1e18) * 1e18) / priceMulE18_; // 0‥1 e18 + + uint256 upliftFeePctE18 = (upliftRatioE18 * upliftOnlyRouter.upliftFeeBps()) / 10_000; + + uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e14; // 5 bps → 5 e14 + + uint256 effectiveFeePctE18 = upliftFeePctE18 > minFeePctE18 ? upliftFeePctE18 : minFeePctE18; + + uint256 amountOut = bptAmount / 2; // per-token + uint256 hookFeeTokens = amountOut.mulDown(effectiveFeePctE18); + + assertEq(after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], amountOut - hookFeeTokens, "bob DAI"); + + assertEq(after_.bobTokens[usdcIdx] - before.bobTokens[usdcIdx], amountOut - hookFeeTokens, "bob USDC"); + + assertEq(before.poolTokens[daiIdx] - after_.poolTokens[daiIdx], amountOut - hookFeeTokens, "pool DAI"); + + assertEq(before.poolTokens[usdcIdx] - after_.poolTokens[usdcIdx], amountOut - hookFeeTokens, "pool USDC"); + + assertEq(before.vaultTokens[daiIdx] - after_.vaultTokens[daiIdx], amountOut - hookFeeTokens, "vault DAI"); + + assertEq(before.vaultTokens[usdcIdx] - after_.vaultTokens[usdcIdx], amountOut - hookFeeTokens, "vault USDC"); + + /* ──────── supply: allow tiny rounding error (< 2 BPT) ──────── */ + uint256 supplyDiff = before.poolSupply - after_.poolSupply; + assertApproxEqAbs(supplyDiff, bptAmount /* burned */ - hookFeeTokens /* ≈ BPT minted */, 2, "pool supply"); + + /* ──────── BPT holdings ──────── */ + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); + assertEq(after_.bobBpt, 0, "bob BPT"); + + if (protocolTakeE18_ == 0) { + assertEq(after_.userBpt, 0, "admin BPT"); + } else { + // we can only guarantee the admin received *something* (mint rounding): + assertGt(after_.userBpt, 0, "admin BPT > 0"); + } + } +} From 259cf09326b2490a33ff820f83cc6b127cd44ce6 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 4 Jul 2025 14:08:50 +0100 Subject: [PATCH 45/64] add debug version --- .../hooks-quantamm/UpliftOnlyExample.sol | 156 +++++++++++++++++- .../test/foundry/UpliftExampleFuzz.t.sol | 50 +++--- 2 files changed, 178 insertions(+), 28 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 0138086a..80c52fb6 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -446,6 +446,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 adminFeePercent; } + /// @inheritdoc BaseHooks function onAfterRemoveLiquidity( address router, @@ -475,51 +476,97 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { feeDataArrayLength: 0, amountLeft: 0, feePercentage: 0, - adminFeePercent: 0 + adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() }); + + // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. hookAdjustedAmountsOutRaw = amountsOutRaw; - + console.log("hookAdjustedAmountsOutRaw"); + for(uint256 i; i < hookAdjustedAmountsOutRaw.length; ++i){ + console.log("hookAdjustedAmountsOutRaw[i]"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); + } //this rounding faxvours the LP localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); + console.log("localData.lpTokenDepositValueNow"); + console.log(Strings.toString(localData.lpTokenDepositValueNow)); + FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; localData.feeDataArrayLength = feeDataArray.length; localData.amountLeft = bptAmountIn; for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; + + console.log("localData.lpTokenDepositValue"); + console.log(Strings.toString(localData.lpTokenDepositValue)); localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); + console.log("localData.lpTokenDepositValueChange"); + if(localData.lpTokenDepositValueChange > 0){ + console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); + } + else{ + console.log("-"); + console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); + } + uint256 feePerLP; // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value if (localData.lpTokenDepositValueChange > 0) { + + console.log("feeDataArray[i].upliftFeeBps"); + console.log(Strings.toString(feeDataArray[i].upliftFeeBps)); feePerLP = (uint256(localData.lpTokenDepositValueChange) * uint256(feeDataArray[i].upliftFeeBps)) / 10000; + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } // if the pool has decreased in value since the deposit, the fee is calculated based on the base value - see wp else { //in most cases this should be a normal swap fee amount. //there always must be at least the swap fee amount to avoid deposit/withdraw attack surgace. + console.log("minWithdrawalFeeBps"); + console.log(Strings.toString(minWithdrawalFeeBps)); feePerLP = (uint256(minWithdrawalFeeBps) * 1e18) / 10000; + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } if (feePerLP > (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000) { + console.log("_MAX_UPLIFT_FEE_PERCENTAGE"); + console.log(Strings.toString(_MAX_UPLIFT_FEE_PERCENTAGE)); feePerLP = (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000; + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next if (feeDataArray[i].amount <= localData.amountLeft) { + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); uint256 depositAmount = feeDataArray[i].amount; + console.log("depositAmount"); + console.log(Strings.toString(depositAmount)); localData.feeAmount += depositAmount.mulDown(feePerLP); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); localData.amountLeft -= feeDataArray[i].amount; + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); lpNFT.burn(feeDataArray[i].tokenID); + console.log("feeDataArray[i].tokenID"); + console.log(Strings.toString(feeDataArray[i].tokenID)); delete feeDataArray[i]; feeDataArray.pop(); @@ -527,41 +574,100 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { break; } } else { + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); feeDataArray[i].amount -= localData.amountLeft; + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); localData.feeAmount += localData.amountLeft.mulDown(feePerLP); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); break; } } + console.log("bptAmountIn"); + console.log(Strings.toString(bptAmountIn)); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); + console.log("localData.feePercentage"); + console.log(Strings.toString(localData.feePercentage)); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; + console.log("localData.amountsOutRaw"); + for(uint256 i; i < localData.amountsOutRaw.length; ++i){ + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + } localData.tokens = _vault.getPoolTokens(localData.pool); localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); + console.log("localData.adminFeePercent"); + console.log(Strings.toString(localData.adminFeePercent)); // Charge fees proportional to the `amountOut` of each token. for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + console.log("localData.feePercentage"); + console.log(Strings.toString(localData.feePercentage)); uint256 exitFee = localData.amountsOutRaw[i].mulDown(localData.feePercentage); + console.log("exitFee"); + console.log(Strings.toString(exitFee)); + console.log("adminFeePercent"); + console.log(Strings.toString(localData.adminFeePercent)); if (localData.adminFeePercent > 0) { - localData.accruedQuantAMMFees[i] = exitFee.mulDown(localData.adminFeePercent); + localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); + console.log("localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedQuantAMMFees[i])); } + console.log("localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedQuantAMMFees[i])); localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - hookAdjustedAmountsOutRaw[i] -= exitFee; + console.log("localData.accruedFees[i]"); + console.log(Strings.toString(localData.accruedFees[i])); + console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); + console.log("localData.amountsOutRaw[i] - exitFee"); + console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + if(localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]){ + revert("Accrued fees exceed amounts out"); + } + hookAdjustedAmountsOutRaw[i] = + localData.amountsOutRaw[i] - exitFee; + + console.log("hookAdjustedAmountsOutRaw[i]"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. // In effect, we will transfer a reduced amount of tokensOut to the caller, and leave the remainder // in the pool balance. } if (localData.adminFeePercent > 0) { + console.log("addLiquidity[i]"); + console.log(Strings.toString(localData.adminFeePercent)); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); + console.log("localData.feeAmount.mulDown(localData.adminFeePercent)"); + console.log(Strings.toString(localData.feeAmount.mulDown(localData.adminFeePercent))); + console.log(Strings.toString((localData.feeAmount * localData.adminFeePercent) / 1e18)); _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, to: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: localData.feeAmount.mulDown(localData.adminFeePercent), - kind: AddLiquidityKind.PROPORTIONAL, + minBptAmountOut: (localData.feeAmount * localData.adminFeePercent) / 1e18, // This is the amount of BPTs that will be minted to the QuantAMM admin + kind: AddLiquidityKind.UNBALANCED, userData: userData }) ); @@ -574,6 +680,12 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } if (localData.adminFeePercent != 1e18) { + console.log("localData.accruedFees"); + for(uint256 i; i < localData.accruedFees.length; ++i){ + console.log("localData.accruedFees[i]"); + console.log(Strings.toString(localData.accruedFees[i])); + + } // Donates accrued fees back to LPs. _vault.addLiquidity( AddLiquidityParams({ @@ -587,9 +699,39 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { ); } + uint256[] memory residuals = new uint256[](localData.tokens.length); + bool hasResidual = false; + + for (uint256 i = 0; i < localData.tokens.length; ++i) { + console.log("localData.tokens[i].balanceOf(address(this))"); + uint256 bal = localData.tokens[i].balanceOf(address(this)); + console.log(Strings.toString(localData.tokens[i].balanceOf(address(this)))); + if (bal > 0) { + residuals[i] = bal; + hasResidual = true; + } + } + + if (hasResidual) { + _vault.addLiquidity( + AddLiquidityParams({ + pool: localData.pool, + to: address(this), // donation + maxAmountsIn: residuals, + minBptAmountOut: 0, + kind: AddLiquidityKind.DONATION, + userData: bytes("") + }) + ); + } + + for (uint256 i = 0; i < localData.tokens.length; ++i) { + console.log("hookAdjustedAmountsOutRaw"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); + } return (true, hookAdjustedAmountsOutRaw); } - + /// @param _from the owner to transfer from /// @param _to the owner to transfer to /// @param _tokenID the token ID to transfer diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 26dd924c..9ba45246 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -370,7 +370,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { _runFuzz(withdrawalFeeBps, 0); } - function testFuzz_removeLiquidity_withProtocolTake(uint16 withdrawalFeeBps, uint64 protocolTakeE18) public { + function testFuzz_removeLiquidity_withProtocolTake(uint16 withdrawalFeeBps, uint256 protocolTakeE18) public { _runFuzz(withdrawalFeeBps, protocolTakeE18); } @@ -386,9 +386,9 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256 expectedRouterBpt; } - function _runFuzz(uint16 withdrawalFeeBps, uint64 protocolTakeE18) internal { + function _runFuzz(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); - protocolTakeE18 = uint64(bound(protocolTakeE18, 0, 1e18)); + protocolTakeE18 = uint256(bound(protocolTakeE18, 10000000000000, 100000000000000000));//realistically 1% admin take is lowest possible vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); @@ -434,7 +434,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { upliftOnlyRouter.removeLiquidityProportional(withdrawBpt, minsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory after_ = getBalances(bob); + BaseVaultTest.Balances memory after_ = getBalances(updateWeightRunner.getQuantAMMAdmin()); FuzzParams memory params; @@ -470,7 +470,10 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { params.expectedRouterBpt = bptAmount - withdrawBpt; assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); + assertEq(after_.userBpt, params.protoShare, "admin BPT"); + + assertEq(after_.bobBpt, 0, "bob BPT"); assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); } @@ -658,7 +661,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( uint16 withdrawalFeeBps, - uint64 protocolTakeE18 + uint256 protocolTakeE18 ) public { _runFuzzNegative(withdrawalFeeBps, protocolTakeE18); } @@ -671,9 +674,9 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256 routerKeep; } - function _runFuzzNegative(uint16 withdrawalFeeBps, uint64 protocolTakeE18) internal { - withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); - protocolTakeE18 = uint64(bound(protocolTakeE18, 0, 1e18)); + function _runFuzzNegative(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { + withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 5, 50)); + protocolTakeE18 = uint256(bound(protocolTakeE18, 0.001e18, 1e18));//realistically 1% admin take is lowest possible vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); @@ -725,9 +728,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory after_ = getBalances( - protocolTakeE18 == 0 ? bob : updateWeightRunner.getQuantAMMAdmin() - ); + BaseVaultTest.Balances memory after_ = getBalances(updateWeightRunner.getQuantAMMAdmin()); FuzzNegativeParams memory params; @@ -764,7 +765,14 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { assertEq(before.poolSupply - after_.poolSupply, bptAmount - params.protoShare, "pool supply wrong"); + for(uint i; i < after_.userTokens.length; ++i) { + console.log("_after.userTokens[i]"); + console.log(Strings.toString(after_.userTokens[i])); + } + console.log("after_.userBpt"); + console.log(Strings.toString(after_.userBpt)); assertEq(after_.userBpt, params.protoShare, "admin BPT wrong"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); assertEq(after_.bobBpt, 0, "bob still holds BPT"); @@ -778,18 +786,23 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function testFuzz_removeLiquidityPositive_withProtocolTake( uint16 withdrawalFeeBps_, - uint64 protocolTakeE18_, + uint256 protocolTakeE18_, uint256 priceMulE18_ ) public { _runPositiveFuzz(withdrawalFeeBps_, protocolTakeE18_, priceMulE18_); } - function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint64 protocolTakeE18_, uint256 priceMulE18_) internal { + function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint256 protocolTakeE18_, uint256 priceMulE18_) internal { /* ──────── bounds ──────── */ - withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 0, 50)); - protocolTakeE18_ = uint64(bound(protocolTakeE18_, 0, 1e18)); + withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 5, 50)); + protocolTakeE18_ = uint256(bound(protocolTakeE18_, 0.001e18, 1e18));//realistically 1% admin take is lowest possible priceMulE18_ = bound(priceMulE18_, 1e18, 10_000e18); - + console.log("withdrawal fees"); + console.log(Strings.toString(withdrawalFeeBps_)); + console.log("protocol take"); + console.log(Strings.toString(protocolTakeE18_)); + console.log("price multiplier"); + console.log(Strings.toString(priceMulE18_)); /* ──────── fresh router ──────── */ vm.prank(owner); upliftOnlyRouter = new UpliftOnlyExample( @@ -810,18 +823,15 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { _approveAllUsers(); initPool(); - /* ──────── deposit (bob) ──────── */ uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); vm.stopPrank(); - /* ──────── pretend price ↑ ──────── */ int256[] memory prices = new int256[](tokens.length); for (uint256 i; i < tokens.length; ++i) prices[i] = int256(i) * int256(priceMulE18_); updateWeightRunner.setMockPrices(pool, prices); - /* ──────── withdraw ──────── */ uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); address observer = protocolTakeE18_ == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); @@ -856,11 +866,9 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { assertEq(before.vaultTokens[usdcIdx] - after_.vaultTokens[usdcIdx], amountOut - hookFeeTokens, "vault USDC"); - /* ──────── supply: allow tiny rounding error (< 2 BPT) ──────── */ uint256 supplyDiff = before.poolSupply - after_.poolSupply; assertApproxEqAbs(supplyDiff, bptAmount /* burned */ - hookFeeTokens /* ≈ BPT minted */, 2, "pool supply"); - /* ──────── BPT holdings ──────── */ assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); assertEq(after_.bobBpt, 0, "bob BPT"); From 9651fafa4ce88a78a3eb3ab3e7aefd17bcd397e3 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 9 Jul 2025 12:13:31 +0100 Subject: [PATCH 46/64] uplift fuzz progress --- .../hooks-quantamm/UpliftOnlyExample.sol | 11 ++++++++--- .../test/foundry/UpliftExampleFuzz.t.sol | 16 ++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 80c52fb6..9d1d0b3c 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -624,7 +624,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { console.log("adminFeePercent"); console.log(Strings.toString(localData.adminFeePercent)); if (localData.adminFeePercent > 0) { - localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); + localData.accruedQuantAMMFees[i] = exitFee.mulDown(localData.adminFeePercent); console.log("localData.accruedQuantAMMFees[i]"); console.log(Strings.toString(localData.accruedQuantAMMFees[i])); } @@ -640,6 +640,11 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); console.log("localData.amountsOutRaw[i]"); console.log(Strings.toString(localData.amountsOutRaw[i])); + console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString((localData.accruedFees[i] + localData.accruedQuantAMMFees[i]))); + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString((localData.amountsOutRaw[i]))); + if(localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]){ revert("Accrued fees exceed amounts out"); } @@ -666,8 +671,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { pool: localData.pool, to: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: (localData.feeAmount * localData.adminFeePercent) / 1e18, // This is the amount of BPTs that will be minted to the QuantAMM admin - kind: AddLiquidityKind.UNBALANCED, + minBptAmountOut: localData.feeAmount.mulDown(localData.adminFeePercent), + kind: AddLiquidityKind.PROPORTIONAL, userData: userData }) ); diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 9ba45246..4535cfd7 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -388,7 +388,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function _runFuzz(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); - protocolTakeE18 = uint256(bound(protocolTakeE18, 10000000000000, 100000000000000000));//realistically 1% admin take is lowest possible + protocolTakeE18 = uint256(bound(protocolTakeE18, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); @@ -675,8 +675,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { } function _runFuzzNegative(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { - withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 5, 50)); - protocolTakeE18 = uint256(bound(protocolTakeE18, 0.001e18, 1e18));//realistically 1% admin take is lowest possible + withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 5, 500)); + protocolTakeE18 = uint256(bound(protocolTakeE18, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); @@ -786,16 +786,16 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function testFuzz_removeLiquidityPositive_withProtocolTake( uint16 withdrawalFeeBps_, - uint256 protocolTakeE18_, + uint256 protocolTake, uint256 priceMulE18_ ) public { - _runPositiveFuzz(withdrawalFeeBps_, protocolTakeE18_, priceMulE18_); + _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_); } - function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint256 protocolTakeE18_, uint256 priceMulE18_) internal { + function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_) internal { /* ──────── bounds ──────── */ - withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 5, 50)); - protocolTakeE18_ = uint256(bound(protocolTakeE18_, 0.001e18, 1e18));//realistically 1% admin take is lowest possible + withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 5, 500)); + uint256 protocolTakeE18_ = uint256(bound(protocolTake, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible priceMulE18_ = bound(priceMulE18_, 1e18, 10_000e18); console.log("withdrawal fees"); console.log(Strings.toString(withdrawalFeeBps_)); From 44d29616bb543b856f7e0f32f31fb372b46cf74c Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 15 Jul 2025 23:05:10 +0100 Subject: [PATCH 47/64] fixes to rounding given fuzz tests, convert fees to be stored in 18dp for ease --- .../hooks-quantamm/UpliftOnlyExample.sol | 172 +++--------------- .../test/foundry/UpliftExample.t.sol | 71 +++----- .../test/foundry/UpliftExampleFuzz.t.sol | 91 +++++---- 3 files changed, 93 insertions(+), 241 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 9d1d0b3c..f4fc0029 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -2,8 +2,6 @@ pragma solidity >=0.8.24; -import "forge-std/console.sol"; -import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -94,7 +92,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% - uint64 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 5000; // 10% + uint64 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 10e16; // 10% /** * @notice A new `UpliftOnlyExampleRegistered` contract has been registered successfully for a given pool. * @dev If the registration fails the call will revert, so there will be no event. @@ -446,7 +444,6 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 adminFeePercent; } - /// @inheritdoc BaseHooks function onAfterRemoveLiquidity( address router, @@ -479,20 +476,12 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() }); - // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. hookAdjustedAmountsOutRaw = amountsOutRaw; - console.log("hookAdjustedAmountsOutRaw"); - for(uint256 i; i < hookAdjustedAmountsOutRaw.length; ++i){ - console.log("hookAdjustedAmountsOutRaw[i]"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); - } + //this rounding faxvours the LP localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); - console.log("localData.lpTokenDepositValueNow"); - console.log(Strings.toString(localData.lpTokenDepositValueNow)); - FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; localData.feeDataArrayLength = feeDataArray.length; localData.amountLeft = bptAmountIn; @@ -500,73 +489,35 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; - console.log("localData.lpTokenDepositValue"); - console.log(Strings.toString(localData.lpTokenDepositValue)); localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); - console.log("localData.lpTokenDepositValueChange"); - if(localData.lpTokenDepositValueChange > 0){ - console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); - } - else{ - console.log("-"); - console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); - } - uint256 feePerLP; // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value if (localData.lpTokenDepositValueChange > 0) { - - console.log("feeDataArray[i].upliftFeeBps"); - console.log(Strings.toString(feeDataArray[i].upliftFeeBps)); - feePerLP = - (uint256(localData.lpTokenDepositValueChange) * uint256(feeDataArray[i].upliftFeeBps)) / - 10000; - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); + feePerLP = ( + uint256(localData.lpTokenDepositValueChange).mulDown(uint256(feeDataArray[i].upliftFeeBps)) + ); } - // if the pool has decreased in value since the deposit, the fee is calculated based on the base value - see wp - else { - //in most cases this should be a normal swap fee amount. - //there always must be at least the swap fee amount to avoid deposit/withdraw attack surgace. - console.log("minWithdrawalFeeBps"); - console.log(Strings.toString(minWithdrawalFeeBps)); - feePerLP = (uint256(minWithdrawalFeeBps) * 1e18) / 10000; - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); + + if (feePerLP < uint256(minWithdrawalFeeBps)) { + feePerLP = uint256(minWithdrawalFeeBps); } - if (feePerLP > (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000) { - console.log("_MAX_UPLIFT_FEE_PERCENTAGE"); - console.log(Strings.toString(_MAX_UPLIFT_FEE_PERCENTAGE)); - feePerLP = (uint256(_MAX_UPLIFT_FEE_PERCENTAGE) * 1e18) / 10000; - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); + if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { + feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); } // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next if (feeDataArray[i].amount <= localData.amountLeft) { - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); - uint256 depositAmount = feeDataArray[i].amount; - console.log("depositAmount"); - console.log(Strings.toString(depositAmount)); - localData.feeAmount += depositAmount.mulDown(feePerLP); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); - localData.amountLeft -= feeDataArray[i].amount; - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); + uint256 withdrawAmount = feeDataArray[i].amount; + localData.feeAmount += withdrawAmount.mulDown(feePerLP); + localData.amountLeft -= feeDataArray[i].amount; lpNFT.burn(feeDataArray[i].tokenID); - console.log("feeDataArray[i].tokenID"); - console.log(Strings.toString(feeDataArray[i].tokenID)); delete feeDataArray[i]; feeDataArray.pop(); @@ -574,104 +525,45 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { break; } } else { - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); feeDataArray[i].amount -= localData.amountLeft; - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); localData.feeAmount += localData.amountLeft.mulDown(feePerLP); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); break; } } - console.log("bptAmountIn"); - console.log(Strings.toString(bptAmountIn)); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); - console.log("localData.feePercentage"); - console.log(Strings.toString(localData.feePercentage)); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; - console.log("localData.amountsOutRaw"); - for(uint256 i; i < localData.amountsOutRaw.length; ++i){ - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - } + localData.tokens = _vault.getPoolTokens(localData.pool); localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); - console.log("localData.adminFeePercent"); - console.log(Strings.toString(localData.adminFeePercent)); // Charge fees proportional to the `amountOut` of each token. for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - console.log("localData.feePercentage"); - console.log(Strings.toString(localData.feePercentage)); uint256 exitFee = localData.amountsOutRaw[i].mulDown(localData.feePercentage); - console.log("exitFee"); - console.log(Strings.toString(exitFee)); - console.log("adminFeePercent"); - console.log(Strings.toString(localData.adminFeePercent)); if (localData.adminFeePercent > 0) { - localData.accruedQuantAMMFees[i] = exitFee.mulDown(localData.adminFeePercent); - console.log("localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedQuantAMMFees[i])); + localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); } - console.log("localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedQuantAMMFees[i])); localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - console.log("localData.accruedFees[i]"); - console.log(Strings.toString(localData.accruedFees[i])); - console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); - console.log("localData.amountsOutRaw[i] - exitFee"); - console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString((localData.accruedFees[i] + localData.accruedQuantAMMFees[i]))); - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString((localData.amountsOutRaw[i]))); - - if(localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]){ + if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { revert("Accrued fees exceed amounts out"); } - hookAdjustedAmountsOutRaw[i] = - localData.amountsOutRaw[i] - exitFee; + hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; - console.log("hookAdjustedAmountsOutRaw[i]"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. // In effect, we will transfer a reduced amount of tokensOut to the caller, and leave the remainder // in the pool balance. } if (localData.adminFeePercent > 0) { - console.log("addLiquidity[i]"); - console.log(Strings.toString(localData.adminFeePercent)); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); - console.log("localData.feeAmount.mulDown(localData.adminFeePercent)"); - console.log(Strings.toString(localData.feeAmount.mulDown(localData.adminFeePercent))); - console.log(Strings.toString((localData.feeAmount * localData.adminFeePercent) / 1e18)); _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, to: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: localData.feeAmount.mulDown(localData.adminFeePercent), + minBptAmountOut: localData.feeAmount.mulUp(localData.adminFeePercent), kind: AddLiquidityKind.PROPORTIONAL, userData: userData }) @@ -685,17 +577,11 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { } if (localData.adminFeePercent != 1e18) { - console.log("localData.accruedFees"); - for(uint256 i; i < localData.accruedFees.length; ++i){ - console.log("localData.accruedFees[i]"); - console.log(Strings.toString(localData.accruedFees[i])); - - } // Donates accrued fees back to LPs. _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, - to: address(this), // It would mint BPTs to router, but it's a donation so no BPT is minted + to: userAddress, // It would mint BPTs to router, but it's a donation so no BPT is minted maxAmountsIn: localData.accruedFees, // Donate all accrued fees back to the pool (i.e. to the LPs) minBptAmountOut: 0, // Donation does not return BPTs, any number above 0 will revert kind: AddLiquidityKind.DONATION, @@ -708,35 +594,29 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { bool hasResidual = false; for (uint256 i = 0; i < localData.tokens.length; ++i) { - console.log("localData.tokens[i].balanceOf(address(this))"); uint256 bal = localData.tokens[i].balanceOf(address(this)); - console.log(Strings.toString(localData.tokens[i].balanceOf(address(this)))); if (bal > 0) { residuals[i] = bal; - hasResidual = true; + hasResidual = true; } } if (hasResidual) { _vault.addLiquidity( AddLiquidityParams({ - pool: localData.pool, - to: address(this), // donation - maxAmountsIn: residuals, + pool: localData.pool, + to: address(this), // donation + maxAmountsIn: residuals, minBptAmountOut: 0, - kind: AddLiquidityKind.DONATION, - userData: bytes("") + kind: AddLiquidityKind.DONATION, + userData: bytes("") }) ); } - for (uint256 i = 0; i < localData.tokens.length; ++i) { - console.log("hookAdjustedAmountsOutRaw"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); - } return (true, hookAdjustedAmountsOutRaw); } - + /// @param _from the owner to transfer from /// @param _to the owner to transfer to /// @param _tokenID the token ID to transfer diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 02ecef5f..407d740b 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -103,8 +103,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { IVault(address(vault)), weth, permit2, - 200, - 5, + 200e14, + 5e14, address(updateWeightRunner), "Uplift LiquidityPosition v1", "Uplift LiquidityPosition v1", @@ -233,7 +233,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); assertEq(upliftOnlyRouter.nftPool(expectedTokenId), pool, "pool mapping is wrong"); @@ -298,7 +298,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); uint256 nftTokenId = 0; uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); @@ -310,8 +310,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 feeAmountAmountPercent = ((bptAmount / 2) * - ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2)); + uint256 feeAmountAmountPercent = (((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps())))) / + ((bptAmount / 2))); uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); assertEq( @@ -413,7 +413,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { @@ -432,7 +432,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesAfter = getBalances(bob); // Bob gets original liquidity with no fee applied because of full decay. - uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; + uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); uint256 amountOut = bptAmount / 2; uint256 hookFee = amountOut.mulDown(exitFeePercentage); @@ -521,7 +521,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { @@ -544,7 +544,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp - uint256 feePercentage = (upliftRatio * upliftOnlyRouter.upliftFeeBps()) / 10_000; + uint256 feePercentage = (upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps()))); // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) uint256 amountOut = bptAmount / 2; @@ -826,7 +826,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { function testFeeCalculationCausesRevert() public { vm.startPrank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMSwapFeeTake(5); //set admin fee to 5 basis points (same as min withdrawal fee) + updateWeightRunner.setQuantAMMSwapFeeTake(5e14); //set admin fee to 5 basis points (same as min withdrawal fee) vm.stopPrank(); // Add liquidity so bob has BPT to remove liquidity. uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); @@ -846,7 +846,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { @@ -861,42 +861,14 @@ contract UpliftOnlyExampleTest is BaseVaultTest { abi.encodeWithSelector( IVaultErrors.AmountInAboveMax.selector, address(dai), - 83333333333333333, - 83333333333333166 + 83333333333333334, + 83333333333333167 ) ); upliftOnlyRouter.removeLiquidityProportional(bptAmount / 3, minAmountsOut, false, pool); vm.stopPrank(); } - function _checkPoolAndVaultBalancesAfterSwap( - BaseVaultTest.Balances memory balancesBefore, - BaseVaultTest.Balances memory balancesAfter, - uint256 poolBalanceChange - ) private view { - // Considers swap fee = 0, so only hook fees were charged - assertEq( - balancesAfter.poolTokens[daiIdx] - balancesBefore.poolTokens[daiIdx], - poolBalanceChange, - "Pool DAI balance is wrong" - ); - assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - poolBalanceChange, - "Pool USDC balance is wrong" - ); - assertEq( - balancesAfter.vaultTokens[daiIdx] - balancesBefore.vaultTokens[daiIdx], - poolBalanceChange, - "Vault DAI balance is wrong" - ); - assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - poolBalanceChange, - "Vault USDC balance is wrong" - ); - } - function testRemoveLiquidityWithProtocolTakeNoPriceChange() public { vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); @@ -924,7 +896,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); uint256 nftTokenId = 0; uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); @@ -936,8 +908,9 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - uint256 feeAmountAmountPercent = (((bptAmount / 2) * - ((uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e18) / 10000)) / ((bptAmount / 2))); + uint256 feeAmountAmountPercent = ( + (((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps())))) / ((bptAmount / 2))) + ); uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); // Bob gets original liquidity with no fee applied because of full decay. @@ -1030,7 +1003,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { @@ -1049,7 +1022,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); // pool share without FixedPoint helpers (avoids double 1e18 division) - uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; + uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); uint256 amountOut = bptAmount / 2; uint256 hookFee = amountOut.mulDown(exitFeePercentage); @@ -1138,7 +1111,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { 500000000000000000, "should match sum(amount * price)" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); int256[] memory prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { @@ -1161,7 +1134,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp - uint256 feePercentage = (upliftRatio * upliftOnlyRouter.upliftFeeBps()) / 10_000; + uint256 feePercentage = upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps())); // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) uint256 amountOut = bptAmount / 2; diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 4535cfd7..5d8b83cf 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -363,7 +363,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { /// @dev Net amount after charging `feeBps` (0 … 10_000). function _netAfterFee(uint256 grossAmount, uint256 feeBps) internal pure returns (uint256) { - return grossAmount - (grossAmount * feeBps) / 10_000; + return grossAmount - grossAmount.mulDown(feeBps); } function testFuzz_removeLiquidity_noProtocolTake(uint16 withdrawalFeeBps) public { @@ -386,9 +386,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256 expectedRouterBpt; } - function _runFuzz(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { - withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 0, 50)); - protocolTakeE18 = uint256(bound(protocolTakeE18, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible + function _runFuzz(uint64 withdrawalFeeBps, uint256 protocolTakeE18) internal { + withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); + if (protocolTakeE18 > 0) { + protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible + } vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); @@ -399,8 +401,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { IVault(address(vault)), weth, permit2, - withdrawalFeeBps, - 5, + withdrawalFeeBps * 1e14, // convert to e18 + 5e14, address(updateWeightRunner), "Uplift LiquidityPosition v1", "Uplift LiquidityPosition v1", @@ -462,7 +464,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { params.expectedNet = _netAfterFee(withdrawBpt, feeBps); params.upliftBpt = withdrawBpt - params.expectedNet; - params.protoShare = (params.upliftBpt * protocolTakeE18) / 1e18; + params.protoShare = params.upliftBpt.mulDown(protocolTakeE18); params.routerKeep = params.upliftBpt - params.protoShare; assertEq(before.poolSupply - after_.poolSupply, withdrawBpt - params.protoShare, "pool supply mismatch"); @@ -470,10 +472,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { params.expectedRouterBpt = bptAmount - withdrawBpt; assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); - assertEq(after_.userBpt, params.protoShare, "admin BPT"); - assertEq(after_.bobBpt, 0, "bob BPT"); assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); } @@ -674,10 +674,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256 routerKeep; } - function _runFuzzNegative(uint16 withdrawalFeeBps, uint256 protocolTakeE18) internal { - withdrawalFeeBps = uint16(bound(withdrawalFeeBps, 5, 500)); - protocolTakeE18 = uint256(bound(protocolTakeE18, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible - + function _runFuzzNegative(uint64 withdrawalFeeBps, uint256 protocolTakeE18) internal { + withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); + if (protocolTakeE18 > 0) { + protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible + } vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); vm.stopPrank(); @@ -687,8 +688,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { IVault(address(vault)), weth, permit2, - withdrawalFeeBps, - 5, + withdrawalFeeBps * 1e14, + 5e14, address(updateWeightRunner), "Uplift LiquidityPosition v1", "Uplift LiquidityPosition v1", @@ -734,7 +735,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { params.amountOut = bptAmount / 2; - uint64 exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps() * 1e14; // 5 → 5 × 1e14 = 5e14 + uint64 exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps(); // 5 → 5 × 1e14 = 5e14 params.hookFee = params.amountOut.mulDown(exitFeePctE18); assertEq( @@ -759,18 +760,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { "pool USDC wrong" ); - params.upliftBpt = params.hookFee; - params.protoShare = (params.upliftBpt * protocolTakeE18) / 1e18; + params.upliftBpt = params.hookFee.mulUp(bptAmount).divDown(params.amountOut); + params.protoShare = (params.upliftBpt.mulDown(protocolTakeE18)); params.routerKeep = params.upliftBpt - params.protoShare; assertEq(before.poolSupply - after_.poolSupply, bptAmount - params.protoShare, "pool supply wrong"); - - for(uint i; i < after_.userTokens.length; ++i) { - console.log("_after.userTokens[i]"); - console.log(Strings.toString(after_.userTokens[i])); - } - console.log("after_.userBpt"); - console.log(Strings.toString(after_.userBpt)); assertEq(after_.userBpt, params.protoShare, "admin BPT wrong"); assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); @@ -792,25 +786,27 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_); } - function _runPositiveFuzz(uint16 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_) internal { + function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_) internal { /* ──────── bounds ──────── */ - withdrawalFeeBps_ = uint16(bound(withdrawalFeeBps_, 5, 500)); - uint256 protocolTakeE18_ = uint256(bound(protocolTake, 1, 9999)) * 1e13;//realistically 1% admin take is lowest possible + withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, 5, 500)); + if (protocolTake > 0) { + protocolTake = uint256(bound(protocolTake, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible + } + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTake); + vm.stopPrank(); + priceMulE18_ = bound(priceMulE18_, 1e18, 10_000e18); - console.log("withdrawal fees"); - console.log(Strings.toString(withdrawalFeeBps_)); - console.log("protocol take"); - console.log(Strings.toString(protocolTakeE18_)); - console.log("price multiplier"); - console.log(Strings.toString(priceMulE18_)); + /* ──────── fresh router ──────── */ vm.prank(owner); upliftOnlyRouter = new UpliftOnlyExample( IVault(address(vault)), weth, permit2, - withdrawalFeeBps_, // upliftFeeBps - 5, // minWithdrawalFeeBps (5 bps, constant) + withdrawalFeeBps_ * 1e14, // upliftFeeBps + 5e14, // minWithdrawalFeeBps (5 bps, constant) address(updateWeightRunner), "Uplift LP v1", "Uplift LP v1", @@ -833,7 +829,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { updateWeightRunner.setMockPrices(pool, prices); uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); - address observer = protocolTakeE18_ == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); + address observer = protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); BaseVaultTest.Balances memory before = getBalances(observer); @@ -843,14 +839,13 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { BaseVaultTest.Balances memory after_ = getBalances(observer); - uint256 upliftRatioE18 = ((priceMulE18_ - 1e18) * 1e18) / priceMulE18_; // 0‥1 e18 - - uint256 upliftFeePctE18 = (upliftRatioE18 * upliftOnlyRouter.upliftFeeBps()) / 10_000; - - uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()) * 1e14; // 5 bps → 5 e14 + // 3. fee percentage, 18 dec + uint256 upliftFeePctE18 = (priceMulE18_ - 1e18).mulDown(1e18).divDown(priceMulE18_).mulDown( + withdrawalFeeBps_ * 1e14 + ); + uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // 5 bps → 5 e14 uint256 effectiveFeePctE18 = upliftFeePctE18 > minFeePctE18 ? upliftFeePctE18 : minFeePctE18; - uint256 amountOut = bptAmount / 2; // per-token uint256 hookFeeTokens = amountOut.mulDown(effectiveFeePctE18); @@ -866,13 +861,17 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { assertEq(before.vaultTokens[usdcIdx] - after_.vaultTokens[usdcIdx], amountOut - hookFeeTokens, "vault USDC"); - uint256 supplyDiff = before.poolSupply - after_.poolSupply; - assertApproxEqAbs(supplyDiff, bptAmount /* burned */ - hookFeeTokens /* ≈ BPT minted */, 2, "pool supply"); + uint256 adminFeeTokens = hookFeeTokens.mulDown(protocolTake); // 0 if take = 0 + + uint256 adminMintedBpt = adminFeeTokens.mulDown(bptAmount).divDown(amountOut); + + // totalSupply must fall by the burned amount minus what we just minted + assertApproxEqAbs(before.poolSupply - after_.poolSupply, bptAmount - adminMintedBpt, 2, "pool supply"); assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); assertEq(after_.bobBpt, 0, "bob BPT"); - if (protocolTakeE18_ == 0) { + if (protocolTake == 0) { assertEq(after_.userBpt, 0, "admin BPT"); } else { // we can only guarantee the admin received *something* (mint rounding): From 26886291ea4a5f61ef6f370b3b830fd1db9d3eae Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 16 Jul 2025 14:50:54 +0100 Subject: [PATCH 48/64] add fuzz and move tests --- .../hooks-quantamm/UpliftOnlyExample.sol | 157 ++++++++++++++---- .../test/foundry/UpliftExample.t.sol | 29 ---- .../test/foundry/UpliftExampleFuzz.t.sol | 61 +++++-- 3 files changed, 172 insertions(+), 75 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index f4fc0029..8f49a0a6 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -2,6 +2,8 @@ pragma solidity >=0.8.24; +import "forge-std/console.sol"; +import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -444,6 +446,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 adminFeePercent; } + /// @inheritdoc BaseHooks function onAfterRemoveLiquidity( address router, @@ -476,12 +479,20 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() }); + // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. hookAdjustedAmountsOutRaw = amountsOutRaw; - + console.log("hookAdjustedAmountsOutRaw"); + for(uint256 i; i < hookAdjustedAmountsOutRaw.length; ++i){ + console.log("hookAdjustedAmountsOutRaw[i]"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); + } //this rounding faxvours the LP localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); + console.log("localData.lpTokenDepositValueNow"); + console.log(Strings.toString(localData.lpTokenDepositValueNow)); + FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; localData.feeDataArrayLength = feeDataArray.length; localData.amountLeft = bptAmountIn; @@ -489,35 +500,71 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; + console.log("localData.lpTokenDepositValue"); + console.log(Strings.toString(localData.lpTokenDepositValue)); localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); + console.log("localData.lpTokenDepositValueChange"); + if(localData.lpTokenDepositValueChange > 0){ + console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); + } + else{ + console.log("-"); + console.log(Strings.toString(uint256(-localData.lpTokenDepositValueChange))); + } + uint256 feePerLP; // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value if (localData.lpTokenDepositValueChange > 0) { + + console.log("feeDataArray[i].upliftFeeBps"); + console.log(Strings.toString(feeDataArray[i].upliftFeeBps)); feePerLP = ( - uint256(localData.lpTokenDepositValueChange).mulDown(uint256(feeDataArray[i].upliftFeeBps)) + uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps)) ); + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } if (feePerLP < uint256(minWithdrawalFeeBps)) { + console.log("minWithdrawalFeeBps"); + console.log(Strings.toString(minWithdrawalFeeBps)); feePerLP = uint256(minWithdrawalFeeBps); + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { + console.log("_MAX_UPLIFT_FEE_PERCENTAGE"); + console.log(Strings.toString(_MAX_UPLIFT_FEE_PERCENTAGE)); feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); } // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next if (feeDataArray[i].amount <= localData.amountLeft) { + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); uint256 withdrawAmount = feeDataArray[i].amount; - + console.log("withdrawAmount"); + console.log(Strings.toString(withdrawAmount)); localData.feeAmount += withdrawAmount.mulDown(feePerLP); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); localData.amountLeft -= feeDataArray[i].amount; + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); + lpNFT.burn(feeDataArray[i].tokenID); + console.log("feeDataArray[i].tokenID"); + console.log(Strings.toString(feeDataArray[i].tokenID)); delete feeDataArray[i]; feeDataArray.pop(); @@ -525,39 +572,98 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { break; } } else { + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); feeDataArray[i].amount -= localData.amountLeft; + console.log("feeDataArray[i].amount"); + console.log(Strings.toString(feeDataArray[i].amount)); + console.log("feePerLP"); + console.log(Strings.toString(feePerLP)); + console.log("localData.amountLeft"); + console.log(Strings.toString(localData.amountLeft)); localData.feeAmount += localData.amountLeft.mulDown(feePerLP); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); break; } } - localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); + console.log("bptAmountIn"); + console.log(Strings.toString(bptAmountIn)); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); + localData.feePercentage = localData.feeAmount.divUp(bptAmountIn); + console.log("localData.feePercentage"); + console.log(Strings.toString(localData.feePercentage)); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; - + console.log("localData.amountsOutRaw"); + for(uint256 i; i < localData.amountsOutRaw.length; ++i){ + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + } localData.tokens = _vault.getPoolTokens(localData.pool); localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); + console.log("localData.adminFeePercent"); + console.log(Strings.toString(localData.adminFeePercent)); // Charge fees proportional to the `amountOut` of each token. for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { - uint256 exitFee = localData.amountsOutRaw[i].mulDown(localData.feePercentage); - + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + console.log("localData.feePercentage"); + console.log(Strings.toString(localData.feePercentage)); + uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); + console.log("exitFee"); + console.log(Strings.toString(exitFee)); + + console.log("adminFeePercent"); + console.log(Strings.toString(localData.adminFeePercent)); if (localData.adminFeePercent > 0) { localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); + console.log("localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedQuantAMMFees[i])); } + console.log("localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedQuantAMMFees[i])); localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { + console.log("localData.accruedFees[i]"); + console.log(Strings.toString(localData.accruedFees[i])); + console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); + console.log("localData.amountsOutRaw[i] - exitFee"); + console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString(localData.amountsOutRaw[i])); + console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); + console.log(Strings.toString((localData.accruedFees[i] + localData.accruedQuantAMMFees[i]))); + console.log("localData.amountsOutRaw[i]"); + console.log(Strings.toString((localData.amountsOutRaw[i]))); + + if(localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]){ revert("Accrued fees exceed amounts out"); } - hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; + hookAdjustedAmountsOutRaw[i] = + localData.amountsOutRaw[i] - exitFee; + console.log("hookAdjustedAmountsOutRaw[i]"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. // In effect, we will transfer a reduced amount of tokensOut to the caller, and leave the remainder // in the pool balance. } if (localData.adminFeePercent > 0) { + console.log("addLiquidity[i]"); + console.log(Strings.toString(localData.adminFeePercent)); + console.log("localData.feeAmount"); + console.log(Strings.toString(localData.feeAmount)); + console.log("localData.feeAmount.mulDown(localData.adminFeePercent)"); + console.log(Strings.toString(localData.feeAmount.mulDown(localData.adminFeePercent))); + console.log(Strings.toString((localData.feeAmount * localData.adminFeePercent) / 1e18)); _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, @@ -576,7 +682,14 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { ); } + console.log("attempting add"); if (localData.adminFeePercent != 1e18) { + console.log("localData.accruedFees"); + for(uint256 i; i < localData.accruedFees.length; ++i){ + console.log("localData.accruedFees[i]"); + console.log(Strings.toString(localData.accruedFees[i])); + + } // Donates accrued fees back to LPs. _vault.addLiquidity( AddLiquidityParams({ @@ -590,33 +703,13 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { ); } - uint256[] memory residuals = new uint256[](localData.tokens.length); - bool hasResidual = false; - for (uint256 i = 0; i < localData.tokens.length; ++i) { - uint256 bal = localData.tokens[i].balanceOf(address(this)); - if (bal > 0) { - residuals[i] = bal; - hasResidual = true; - } + console.log("hookAdjustedAmountsOutRaw"); + console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); } - - if (hasResidual) { - _vault.addLiquidity( - AddLiquidityParams({ - pool: localData.pool, - to: address(this), // donation - maxAmountsIn: residuals, - minBptAmountOut: 0, - kind: AddLiquidityKind.DONATION, - userData: bytes("") - }) - ); - } - return (true, hookAdjustedAmountsOutRaw); } - + /// @param _from the owner to transfer from /// @param _to the owner to transfer to /// @param _tokenID the token ID to transfer diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 407d740b..4e16d151 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -795,35 +795,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } - function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { - uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); - vm.expectEmit(); - emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, boundFeeAmount); - vm.startPrank(owner); - upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); - vm.stopPrank(); - } - - function testSetHookPassSmallerThanMinimumFail(uint64 poolHookAmount) public { - uint64 boundFeeAmount = uint64(bound(poolHookAmount, 0, _MIN_SWAP_FEE_PERCENTAGE - 1)); - - vm.startPrank(owner); - vm.expectRevert("Below _MIN_SWAP_FEE_PERCENTAGE"); - upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); - vm.stopPrank(); - } - - function testSetHookPassGreaterThanMaxFail(uint64 poolHookAmount) public { - uint64 boundFeeAmount = uint64( - bound(poolHookAmount, uint64(_MAX_SWAP_FEE_PERCENTAGE) + 1, uint64(type(uint64).max)) - ); - - vm.startPrank(owner); - vm.expectRevert("Above _MAX_SWAP_FEE_PERCENTAGE"); - upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); - vm.stopPrank(); - } - function testFeeCalculationCausesRevert() public { vm.startPrank(address(vaultAdmin)); updateWeightRunner.setQuantAMMSwapFeeTake(5e14); //set admin fee to 5 basis points (same as min withdrawal fee) diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 5d8b83cf..cc525149 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -655,15 +655,16 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { ); } - function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps) public { - _runFuzzNegative(withdrawalFeeBps, 0); + function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps,uint64 minFee) public { + _runFuzzNegative(withdrawalFeeBps, 0, minFee); } function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( uint16 withdrawalFeeBps, - uint256 protocolTakeE18 + uint256 protocolTakeE18, + uint64 minFee ) public { - _runFuzzNegative(withdrawalFeeBps, protocolTakeE18); + _runFuzzNegative(withdrawalFeeBps, protocolTakeE18, minFee); } struct FuzzNegativeParams { @@ -674,7 +675,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256 routerKeep; } - function _runFuzzNegative(uint64 withdrawalFeeBps, uint256 protocolTakeE18) internal { + function _runFuzzNegative(uint64 withdrawalFeeBps, uint256 protocolTakeE18, uint64 minFee) internal { + minFee = uint64(bound(minFee, 5, 100)); withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); if (protocolTakeE18 > 0) { protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible @@ -774,23 +776,25 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { /* ──────────────────────────── FUZZ: POSITIVE P&L ─────────────────────────── */ - function testFuzz_removeLiquidityPositive_noProtocolTake(uint16 withdrawalFeeBps_, uint256 priceMulE18_) public { - _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_); + function testFuzz_removeLiquidityPositive_noProtocolTake(uint64 withdrawalFeeBps_, uint256 priceMulE18_, uint64 minFee) public { + _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_, minFee); } function testFuzz_removeLiquidityPositive_withProtocolTake( - uint16 withdrawalFeeBps_, + uint64 withdrawalFeeBps_, uint256 protocolTake, - uint256 priceMulE18_ + uint256 priceMulE18_, + uint64 minFee ) public { - _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_); + _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); } - function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_) internal { + function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_, uint64 minFee) internal { /* ──────── bounds ──────── */ - withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, 5, 500)); + minFee = uint64(bound(minFee, 5, 100)); + withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, minFee, 500)); if (protocolTake > 0) { - protocolTake = uint256(bound(protocolTake, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible + protocolTake = uint256(bound(protocolTake, minFee, 9999)) * 1e14; //realistically 1% admin take is lowest possible } vm.prank(address(vaultAdmin)); @@ -806,7 +810,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { weth, permit2, withdrawalFeeBps_ * 1e14, // upliftFeeBps - 5e14, // minWithdrawalFeeBps (5 bps, constant) + minFee * 1e14, // minWithdrawalFeeBps (5 bps, constant) address(updateWeightRunner), "Uplift LP v1", "Uplift LP v1", @@ -878,4 +882,33 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { assertGt(after_.userBpt, 0, "admin BPT > 0"); } } + + function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { + uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); + vm.expectEmit(); + emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, boundFeeAmount); + vm.startPrank(owner); + upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); + vm.stopPrank(); + } + + function testSetHookPassSmallerThanMinimumFail(uint64 poolHookAmount) public { + uint64 boundFeeAmount = uint64(bound(poolHookAmount, 0, _MIN_SWAP_FEE_PERCENTAGE - 1)); + + vm.startPrank(owner); + vm.expectRevert("Below _MIN_SWAP_FEE_PERCENTAGE"); + upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); + vm.stopPrank(); + } + + function testSetHookPassGreaterThanMaxFail(uint64 poolHookAmount) public { + uint64 boundFeeAmount = uint64( + bound(poolHookAmount, uint64(_MAX_SWAP_FEE_PERCENTAGE) + 1, uint64(type(uint64).max)) + ); + + vm.startPrank(owner); + vm.expectRevert("Above _MAX_SWAP_FEE_PERCENTAGE"); + upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); + vm.stopPrank(); + } } From 89656ba911980eb38eacdbde8d33f5d2d6bdb168 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 16 Jul 2025 16:05:36 +0100 Subject: [PATCH 49/64] fix expectations --- .../hooks-quantamm/UpliftOnlyExample.sol | 2 +- .../test/foundry/UpliftExampleFuzz.t.sol | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 8f49a0a6..e61c44de 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -594,7 +594,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { console.log(Strings.toString(bptAmountIn)); console.log("localData.feeAmount"); console.log(Strings.toString(localData.feeAmount)); - localData.feePercentage = localData.feeAmount.divUp(bptAmountIn); + localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); console.log("localData.feePercentage"); console.log(Strings.toString(localData.feePercentage)); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index cc525149..558a36cf 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -792,7 +792,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_, uint64 minFee) internal { /* ──────── bounds ──────── */ minFee = uint64(bound(minFee, 5, 100)); - withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, minFee, 500)); + withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, minFee + 1, 500)); if (protocolTake > 0) { protocolTake = uint256(bound(protocolTake, minFee, 9999)) * 1e14; //realistically 1% admin take is lowest possible } @@ -843,15 +843,28 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { BaseVaultTest.Balances memory after_ = getBalances(observer); + console.log("before.bobTokens[daiIdx]"); + console.log(Strings.toString(before.bobTokens[daiIdx])); + console.log("before.bobTokens[usdcIdx]"); + console.log(Strings.toString(before.bobTokens[usdcIdx])); + console.log("priceMulE18_"); + console.log(Strings.toString(priceMulE18_)); + console.log("withdrawalFeeBps_"); + console.log(Strings.toString(withdrawalFeeBps_)); + // 3. fee percentage, 18 dec - uint256 upliftFeePctE18 = (priceMulE18_ - 1e18).mulDown(1e18).divDown(priceMulE18_).mulDown( + uint256 upliftFeePctE18 = (priceMulE18_ - 1e18).mulUp(1e18).divDown(priceMulE18_).mulUp( withdrawalFeeBps_ * 1e14 ); + console.log("upliftFeePctE18"); + console.log(Strings.toString(upliftFeePctE18)); + + // 4. min uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // 5 bps → 5 e14 uint256 effectiveFeePctE18 = upliftFeePctE18 > minFeePctE18 ? upliftFeePctE18 : minFeePctE18; uint256 amountOut = bptAmount / 2; // per-token - uint256 hookFeeTokens = amountOut.mulDown(effectiveFeePctE18); + uint256 hookFeeTokens = amountOut.mulUp(effectiveFeePctE18); assertEq(after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], amountOut - hookFeeTokens, "bob DAI"); From 719f92bb9f1cd017a5974bbc0cccbb9f688ea247 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 21 Jul 2025 14:53:28 +0100 Subject: [PATCH 50/64] tidy up --- .../hooks-quantamm/UpliftOnlyExample.sol | 198 ++++++------------ .../test/foundry/UpliftExampleFuzz.t.sol | 14 +- 2 files changed, 67 insertions(+), 145 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index e61c44de..b6d93447 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -2,7 +2,6 @@ pragma solidity >=0.8.24; -import "forge-std/console.sol"; import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; @@ -225,6 +224,25 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { Router Functions ***************************************************************************/ + /** + * @notice Adds liquidity to a pool proportionally and mints an LP NFT for the depositor. + * @dev This function ensures that deposits are not made too frequently to prevent exploitation. + * It also verifies that the number of deposits does not exceed the allowed limit. + * The liquidity is added proportionally, and the LP token value is calculated using + * registered oracles and update weight runners. + * @param pool The address of the pool to which liquidity is being added. + * @param maxAmountsIn The maximum amounts of tokens to be deposited into the pool. + * @param exactBptAmountOut The exact amount of BPT tokens to be minted for the liquidity addition. + * @param wethIsEth A boolean indicating whether WETH should be treated as ETH. + * @param userData Additional data provided by the user for the liquidity addition. + * @return amountsIn The actual amounts of tokens deposited into the pool. + * @custom:requirements + * - The pool must be registered with the QuantAMM update weight runner. + * - The pool must be approved with oracles that provide the prices. + * @custom:errors + * - `TooManyDeposits`: Thrown if the user has exceeded the maximum allowed deposits for the pool. + * - `TooFastDeposits`: Thrown if deposits are made too frequently within the same block. + */ function addLiquidityProportional( address pool, uint256[] memory maxAmountsIn, @@ -280,6 +298,18 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { nftPool[tokenID] = pool; } + /** + * @notice Removes liquidity from the pool proportionally based on the provided BPT amount. + * @dev This function ensures that only the owner of the deposit can withdraw liquidity. + * The tokens are sent to the caller (`msg.sender`) upon successful withdrawal. + * @param bptAmountIn The amount of BPT (Balancer Pool Tokens) to be redeemed for liquidity. + * @param minAmountsOut An array specifying the minimum amounts of each token expected to be withdrawn. + * @param wethIsEth A boolean indicating whether WETH should be unwrapped to ETH during withdrawal. + * @param pool The address of the pool from which liquidity is being removed. + * @return amountsOut An array containing the amounts of each token withdrawn from the pool. + * @custom:reverts WithdrawalByNonOwner If the caller has no deposits in the specified pool. + * @custom:modifier saveSender Ensures the sender's address is saved for internal tracking. + */ function removeLiquidityProportional( uint256 bptAmountIn, @@ -446,8 +476,29 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256 adminFeePercent; } - - /// @inheritdoc BaseHooks + /** + * @notice Hook function triggered after liquidity is removed from a pool. + * @dev This function calculates and applies fees based on the uplift in pool value since the deposit, + * and redistributes accrued fees back to liquidity providers or the admin, depending on the configuration. + * @param router The address of the router initiating the liquidity removal. + * @param pool The address of the pool from which liquidity is being removed. + * @param bptAmountIn The amount of BPT (Balancer Pool Tokens) being burned to remove liquidity. + * @param amountsOutRaw The raw amounts of tokens being withdrawn from the pool. + * @param userData Additional data provided by the user for the liquidity removal operation. + * @return success A boolean indicating whether the operation was successful. + * @return hookAdjustedAmountsOutRaw The adjusted amounts of tokens withdrawn after fees are applied. + * + * @notice Fees are calculated based on the uplift in pool value since the deposit and are capped by + * `_MAX_UPLIFT_FEE_PERCENTAGE`. A minimum withdrawal fee (`minWithdrawalFeeBps`) is always applied. + * @notice Admin fees are redistributed to the admin's address, while other accrued fees are donated back to the pool. + * @notice This function ensures that fees do not exceed the amounts being withdrawn and reverts if this condition is violated. + * + * @dev The function interacts with the Vault to add liquidity back to the pool for fee redistribution. + * @dev The function assumes that liquidity removal is only performed via the Router/Hook itself to ensure proper fee application. + * @dev Emits an `ExitFeeCharged` event when admin fees are charged. + * + * @custom:security Only callable by the Vault and self-router to ensure controlled execution. + */ function onAfterRemoveLiquidity( address router, address pool, @@ -479,19 +530,11 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() }); - // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. hookAdjustedAmountsOutRaw = amountsOutRaw; - console.log("hookAdjustedAmountsOutRaw"); - for(uint256 i; i < hookAdjustedAmountsOutRaw.length; ++i){ - console.log("hookAdjustedAmountsOutRaw[i]"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); - } - //this rounding faxvours the LP - localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); - console.log("localData.lpTokenDepositValueNow"); - console.log(Strings.toString(localData.lpTokenDepositValueNow)); + // Calculate the current value of the pool in USD, rounding down to favor LPs. + localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; localData.feeDataArrayLength = feeDataArray.length; @@ -499,72 +542,34 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; - - console.log("localData.lpTokenDepositValue"); - console.log(Strings.toString(localData.lpTokenDepositValue)); localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / int256(localData.lpTokenDepositValueNow); - console.log("localData.lpTokenDepositValueChange"); - if(localData.lpTokenDepositValueChange > 0){ - console.log(Strings.toString(uint256(localData.lpTokenDepositValueChange))); - } - else{ - console.log("-"); - console.log(Strings.toString(uint256(-localData.lpTokenDepositValueChange))); - } - uint256 feePerLP; - // if the pool has increased in value since the deposit, the fee is calculated based on the deposit value + // Calculate fee based on uplift in pool value since deposit, ensuring minimum withdrawal fee is applied. if (localData.lpTokenDepositValueChange > 0) { - - console.log("feeDataArray[i].upliftFeeBps"); - console.log(Strings.toString(feeDataArray[i].upliftFeeBps)); - feePerLP = ( - uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps)) - ); - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); + feePerLP = (uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps))); } if (feePerLP < uint256(minWithdrawalFeeBps)) { - console.log("minWithdrawalFeeBps"); - console.log(Strings.toString(minWithdrawalFeeBps)); feePerLP = uint256(minWithdrawalFeeBps); - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); } if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { - console.log("_MAX_UPLIFT_FEE_PERCENTAGE"); - console.log(Strings.toString(_MAX_UPLIFT_FEE_PERCENTAGE)); feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); } - // if the deposit is less than the amount left to burn, burn the whole deposit and move on to the next + // Burn deposits sequentially (FILO) until the requested amount is fully withdrawn. if (feeDataArray[i].amount <= localData.amountLeft) { - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); uint256 withdrawAmount = feeDataArray[i].amount; - console.log("withdrawAmount"); - console.log(Strings.toString(withdrawAmount)); + localData.feeAmount += withdrawAmount.mulDown(feePerLP); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); localData.amountLeft -= feeDataArray[i].amount; - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); lpNFT.burn(feeDataArray[i].tokenID); - console.log("feeDataArray[i].tokenID"); - console.log(Strings.toString(feeDataArray[i].tokenID)); delete feeDataArray[i]; feeDataArray.pop(); @@ -572,98 +577,38 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { break; } } else { - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); feeDataArray[i].amount -= localData.amountLeft; - console.log("feeDataArray[i].amount"); - console.log(Strings.toString(feeDataArray[i].amount)); - console.log("feePerLP"); - console.log(Strings.toString(feePerLP)); - console.log("localData.amountLeft"); - console.log(Strings.toString(localData.amountLeft)); localData.feeAmount += localData.amountLeft.mulDown(feePerLP); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); break; } } - console.log("bptAmountIn"); - console.log(Strings.toString(bptAmountIn)); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); - console.log("localData.feePercentage"); - console.log(Strings.toString(localData.feePercentage)); hookAdjustedAmountsOutRaw = localData.amountsOutRaw; - console.log("localData.amountsOutRaw"); - for(uint256 i; i < localData.amountsOutRaw.length; ++i){ - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - } localData.tokens = _vault.getPoolTokens(localData.pool); localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); - console.log("localData.adminFeePercent"); - console.log(Strings.toString(localData.adminFeePercent)); // Charge fees proportional to the `amountOut` of each token. for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - console.log("localData.feePercentage"); - console.log(Strings.toString(localData.feePercentage)); uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); - console.log("exitFee"); - console.log(Strings.toString(exitFee)); - console.log("adminFeePercent"); - console.log(Strings.toString(localData.adminFeePercent)); if (localData.adminFeePercent > 0) { localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); - console.log("localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedQuantAMMFees[i])); } - console.log("localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedQuantAMMFees[i])); localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - console.log("localData.accruedFees[i]"); - console.log(Strings.toString(localData.accruedFees[i])); - console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); - console.log("localData.amountsOutRaw[i] - exitFee"); - console.log(Strings.toString(localData.accruedFees[i] + localData.accruedQuantAMMFees[i])); - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString(localData.amountsOutRaw[i])); - console.log("localData.accruedFees[i] + localData.accruedQuantAMMFees[i]"); - console.log(Strings.toString((localData.accruedFees[i] + localData.accruedQuantAMMFees[i]))); - console.log("localData.amountsOutRaw[i]"); - console.log(Strings.toString((localData.amountsOutRaw[i]))); - - if(localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]){ + if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { + // Ensure fees do not exceed the amounts being withdrawn. revert("Accrued fees exceed amounts out"); } - hookAdjustedAmountsOutRaw[i] = - localData.amountsOutRaw[i] - exitFee; + hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; - console.log("hookAdjustedAmountsOutRaw[i]"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. - // In effect, we will transfer a reduced amount of tokensOut to the caller, and leave the remainder - // in the pool balance. } if (localData.adminFeePercent > 0) { - console.log("addLiquidity[i]"); - console.log(Strings.toString(localData.adminFeePercent)); - console.log("localData.feeAmount"); - console.log(Strings.toString(localData.feeAmount)); - console.log("localData.feeAmount.mulDown(localData.adminFeePercent)"); - console.log(Strings.toString(localData.feeAmount.mulDown(localData.adminFeePercent))); - console.log(Strings.toString((localData.feeAmount * localData.adminFeePercent) / 1e18)); + // Redistribute admin fees back to the QuantAMM admin. _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, @@ -682,15 +627,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { ); } - console.log("attempting add"); if (localData.adminFeePercent != 1e18) { - console.log("localData.accruedFees"); - for(uint256 i; i < localData.accruedFees.length; ++i){ - console.log("localData.accruedFees[i]"); - console.log(Strings.toString(localData.accruedFees[i])); - - } - // Donates accrued fees back to LPs. + // Donate accrued fees back to LPs. _vault.addLiquidity( AddLiquidityParams({ pool: localData.pool, @@ -703,13 +641,9 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { ); } - for (uint256 i = 0; i < localData.tokens.length; ++i) { - console.log("hookAdjustedAmountsOutRaw"); - console.log(Strings.toString(hookAdjustedAmountsOutRaw[i])); - } return (true, hookAdjustedAmountsOutRaw); } - + /// @param _from the owner to transfer from /// @param _to the owner to transfer to /// @param _tokenID the token ID to transfer diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 558a36cf..15d4a936 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -843,23 +843,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { BaseVaultTest.Balances memory after_ = getBalances(observer); - console.log("before.bobTokens[daiIdx]"); - console.log(Strings.toString(before.bobTokens[daiIdx])); - console.log("before.bobTokens[usdcIdx]"); - console.log(Strings.toString(before.bobTokens[usdcIdx])); - console.log("priceMulE18_"); - console.log(Strings.toString(priceMulE18_)); - console.log("withdrawalFeeBps_"); - console.log(Strings.toString(withdrawalFeeBps_)); - // 3. fee percentage, 18 dec uint256 upliftFeePctE18 = (priceMulE18_ - 1e18).mulUp(1e18).divDown(priceMulE18_).mulUp( withdrawalFeeBps_ * 1e14 ); - - console.log("upliftFeePctE18"); - console.log(Strings.toString(upliftFeePctE18)); - + // 4. min uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // 5 bps → 5 e14 uint256 effectiveFeePctE18 = upliftFeePctE18 > minFeePctE18 ? upliftFeePctE18 : minFeePctE18; From 0c235c20ec59b1f709e41befbd0970cf33a6d7fc Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 29 Sep 2025 11:56:07 +0100 Subject: [PATCH 51/64] fix build --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 4 ++-- pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index b6d93447..4e718a52 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -508,8 +508,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] memory amountsOutRaw, uint256[] memory, bytes memory userData - ) public override onlyVault onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { - address userAddress = IRouterCommon(router).getSender(); + ) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { + address userAddress = address(bytes20(userData)); AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ pool: pool, bptAmountIn: bptAmountIn, diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 15d4a936..e506a9bc 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -59,9 +59,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; uint64 private constant _MAX_UPLIFT_WITHDRAWAL_FEE = 20e16; + uint256 internal bptAmount = 2e3 * 1e18; uint256 internal constant DEFAULT_AMP_FACTOR = 200; + PoolFactoryMock internal factoryMock; MockUpdateWeightRunner internal updateWeightRunner; UpliftOnlyExample internal upliftOnlyRouter; From 9693ffaf7da87f6d8855c2c6c6f71b03f69bf463 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 30 Sep 2025 11:07:51 +0100 Subject: [PATCH 52/64] stack too deep in the tests --- .../test/foundry/UpliftExampleFuzz.t.sol | 163 ++++++++++-------- 1 file changed, 90 insertions(+), 73 deletions(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index e506a9bc..e625c028 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -791,100 +791,117 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); } - function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_, uint64 minFee) internal { - /* ──────── bounds ──────── */ - minFee = uint64(bound(minFee, 5, 100)); - withdrawalFeeBps_ = uint64(bound(withdrawalFeeBps_, minFee + 1, 500)); - if (protocolTake > 0) { - protocolTake = uint256(bound(protocolTake, minFee, 9999)) * 1e14; //realistically 1% admin take is lowest possible + struct FuzzPositiveParams { + uint64 minFee; + uint64 withdrawalFeeBpsBound; + uint256 protocolTake; + uint256 priceMulE18; + address observer; + uint256 upliftFeePctE18; + uint256 minFeePctE18; + uint256 effectiveFeePctE18; + uint256 amountOut; + uint256 hookFeeTokens; + uint256 adminFeeTokens; + uint256 adminMintedBpt; + uint256[] maxIn; + uint256[] minsOut; + int256[] prices; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTake); - vm.stopPrank(); + function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_, uint64 minFee) internal { + FuzzPositiveParams memory p; - priceMulE18_ = bound(priceMulE18_, 1e18, 10_000e18); - - /* ──────── fresh router ──────── */ - vm.prank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - withdrawalFeeBps_ * 1e14, // upliftFeeBps - minFee * 1e14, // minWithdrawalFeeBps (5 bps, constant) - address(updateWeightRunner), - "Uplift LP v1", - "Uplift LP v1", - "Uplift LP v1" - ); - vm.stopPrank(); - - poolHooksContract = address(upliftOnlyRouter); - (pool, ) = createPool(); - _approveAllUsers(); - initPool(); - - uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); - vm.stopPrank(); + // bounds + p.minFee = uint64(bound(minFee, 5, 100)); + p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); + if (protocolTake > 0) { + p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; + } else { + p.protocolTake = 0; + } + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); + vm.stopPrank(); - int256[] memory prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) prices[i] = int256(i) * int256(priceMulE18_); - updateWeightRunner.setMockPrices(pool, prices); + p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); + + // fresh router + vm.prank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps + p.minFee * 1e14, // minWithdrawalFeeBps + address(updateWeightRunner), + "Uplift LP v1", + "Uplift LP v1", + "Uplift LP v1" + ); + vm.stopPrank(); - uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); - address observer = protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); - BaseVaultTest.Balances memory before = getBalances(observer); + p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); + vm.stopPrank(); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); - vm.stopPrank(); + p.prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) p.prices[i] = int256(i) * int256(p.priceMulE18); + updateWeightRunner.setMockPrices(pool, p.prices); - BaseVaultTest.Balances memory after_ = getBalances(observer); + p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); + p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); - // 3. fee percentage, 18 dec - uint256 upliftFeePctE18 = (priceMulE18_ - 1e18).mulUp(1e18).divDown(priceMulE18_).mulUp( - withdrawalFeeBps_ * 1e14 - ); - - // 4. min - uint256 minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // 5 bps → 5 e14 - uint256 effectiveFeePctE18 = upliftFeePctE18 > minFeePctE18 ? upliftFeePctE18 : minFeePctE18; - uint256 amountOut = bptAmount / 2; // per-token - uint256 hookFeeTokens = amountOut.mulUp(effectiveFeePctE18); + p.beforeBalances = getBalances(p.observer); - assertEq(after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], amountOut - hookFeeTokens, "bob DAI"); + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); + vm.stopPrank(); - assertEq(after_.bobTokens[usdcIdx] - before.bobTokens[usdcIdx], amountOut - hookFeeTokens, "bob USDC"); + p.afterBalances = getBalances(p.observer); - assertEq(before.poolTokens[daiIdx] - after_.poolTokens[daiIdx], amountOut - hookFeeTokens, "pool DAI"); + // fee percentage, 18 dec + p.upliftFeePctE18 = (p.priceMulE18 - 1e18).mulUp(1e18).divDown(p.priceMulE18).mulUp(p.withdrawalFeeBpsBound * 1e14); + // min + p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // e18-scaled + p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; - assertEq(before.poolTokens[usdcIdx] - after_.poolTokens[usdcIdx], amountOut - hookFeeTokens, "pool USDC"); + p.amountOut = bptAmount / 2; // per-token + p.hookFeeTokens = p.amountOut.mulUp(p.effectiveFeePctE18); - assertEq(before.vaultTokens[daiIdx] - after_.vaultTokens[daiIdx], amountOut - hookFeeTokens, "vault DAI"); + assertEq(p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], p.amountOut - p.hookFeeTokens, "bob DAI"); + assertEq(p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "bob USDC"); - assertEq(before.vaultTokens[usdcIdx] - after_.vaultTokens[usdcIdx], amountOut - hookFeeTokens, "vault USDC"); + assertEq(p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], p.amountOut - p.hookFeeTokens, "pool DAI"); + assertEq(p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "pool USDC"); - uint256 adminFeeTokens = hookFeeTokens.mulDown(protocolTake); // 0 if take = 0 + assertEq(p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], p.amountOut - p.hookFeeTokens, "vault DAI"); + assertEq(p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "vault USDC"); - uint256 adminMintedBpt = adminFeeTokens.mulDown(bptAmount).divDown(amountOut); + p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); // 0 if take = 0 + p.adminMintedBpt = p.adminFeeTokens.mulDown(bptAmount).divDown(p.amountOut); - // totalSupply must fall by the burned amount minus what we just minted - assertApproxEqAbs(before.poolSupply - after_.poolSupply, bptAmount - adminMintedBpt, 2, "pool supply"); + // totalSupply must fall by the burned amount minus what we just minted + assertApproxEqAbs(p.beforeBalances.poolSupply - p.afterBalances.poolSupply, bptAmount - p.adminMintedBpt, 2, "pool supply"); - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); - assertEq(after_.bobBpt, 0, "bob BPT"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); + assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); - if (protocolTake == 0) { - assertEq(after_.userBpt, 0, "admin BPT"); - } else { - // we can only guarantee the admin received *something* (mint rounding): - assertGt(after_.userBpt, 0, "admin BPT > 0"); + if (p.protocolTake == 0) { + assertEq(p.afterBalances.userBpt, 0, "admin BPT"); + } else { + assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); + } } - } + function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); From 168f211bf69578e9819977ea4f8800ddfe660336 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 30 Sep 2025 12:03:13 +0100 Subject: [PATCH 53/64] fix tests --- .../test/foundry/UpliftExample.t.sol | 84 +------ .../test/foundry/UpliftExampleFuzz.t.sol | 216 ++++++++++-------- 2 files changed, 124 insertions(+), 176 deletions(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index f9eb9370..084785c0 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -659,7 +659,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - vm.expectRevert(abi.encodeWithSelector(IVaultErrors.SenderIsNotVault.selector, bob)); + vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.CannotUseExternalRouter.selector, address(router))); vm.startPrank(bob); upliftOnlyRouter.onAfterRemoveLiquidity( address(router), @@ -682,7 +682,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - vm.expectRevert(abi.encodeWithSelector(IVaultErrors.SenderIsNotVault.selector, lp)); + vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.CannotUseExternalRouter.selector, address(router))); vm.startPrank(lp); upliftOnlyRouter.onAfterRemoveLiquidity( address(router), @@ -820,86 +820,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } - function testFeeSwapExactIn__Fuzz(uint256 swapAmount, uint64 hookFeePercentage) public { - // Swap between POOL_MINIMUM_TOTAL_SUPPLY and whole pool liquidity (pool math is linear) - swapAmount = bound(swapAmount, POOL_MINIMUM_TOTAL_SUPPLY, poolInitAmount); - - // Fee between 0 and 100% - hookFeePercentage = uint64(bound(hookFeePercentage, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); - - vm.expectEmit(); - emit UpliftOnlyExample.HookSwapFeePercentageChanged(poolHooksContract, hookFeePercentage); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).setHookSwapFeePercentage(hookFeePercentage); - uint256 hookFee = swapAmount.mulUp(hookFeePercentage); - - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); - - vm.prank(bob); - vm.expectCall( - address(poolHooksContract), - abi.encodeCall( - IHooks.onAfterSwap, - AfterSwapParams({ - kind: SwapKind.EXACT_IN, - tokenIn: dai, - tokenOut: usdc, - amountInScaled18: swapAmount, - amountOutScaled18: swapAmount, - tokenInBalanceScaled18: poolInitAmount + swapAmount, - tokenOutBalanceScaled18: poolInitAmount - swapAmount, - amountCalculatedScaled18: swapAmount, - amountCalculatedRaw: swapAmount, - router: address(router), - pool: pool, - userData: bytes("") - }) - ) - ); - - if (hookFee > 0) { - vm.expectEmit(); - emit UpliftOnlyExample.SwapHookFeeCharged(poolHooksContract, IERC20(usdc), hookFee); - } - - router.swapSingleTokenExactIn(address(pool), dai, usdc, swapAmount, 0, MAX_UINT256, false, bytes("")); - - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, - block.timestamp, - "bptAmount mapping should be 0" - ); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, - 500000000000000000, - "should match sum(amount * price)" - ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - - int256[] memory prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i + 1) * 1.5e1; // Make the price 1.5 times higher - } - updateWeightRunner.setMockPrices(pool, prices); - - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - - vm.startPrank(bob); - vm.expectRevert( - abi.encodeWithSelector( - IVaultErrors.AmountInAboveMax.selector, - address(dai), - 83333333333333334, - 83333333333333167 - ) - ); - upliftOnlyRouter.removeLiquidityProportional(bptAmount / 3, minAmountsOut, false, pool); - vm.stopPrank(); - } - function testRemoveLiquidityWithProtocolTakeNoPriceChange() public { vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index e625c028..fb7befad 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -657,7 +657,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { ); } - function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps,uint64 minFee) public { + function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps, uint64 minFee) public { _runFuzzNegative(withdrawalFeeBps, 0, minFee); } @@ -778,7 +778,11 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { /* ──────────────────────────── FUZZ: POSITIVE P&L ─────────────────────────── */ - function testFuzz_removeLiquidityPositive_noProtocolTake(uint64 withdrawalFeeBps_, uint256 priceMulE18_, uint64 minFee) public { + function testFuzz_removeLiquidityPositive_noProtocolTake( + uint64 withdrawalFeeBps_, + uint256 priceMulE18_, + uint64 minFee + ) public { _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_, minFee); } @@ -791,117 +795,141 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); } - struct FuzzPositiveParams { - uint64 minFee; - uint64 withdrawalFeeBpsBound; - uint256 protocolTake; - uint256 priceMulE18; - address observer; - uint256 upliftFeePctE18; - uint256 minFeePctE18; - uint256 effectiveFeePctE18; - uint256 amountOut; - uint256 hookFeeTokens; - uint256 adminFeeTokens; - uint256 adminMintedBpt; - uint256[] maxIn; - uint256[] minsOut; - int256[] prices; - BaseVaultTest.Balances beforeBalances; - BaseVaultTest.Balances afterBalances; - } - - function _runPositiveFuzz(uint64 withdrawalFeeBps_, uint256 protocolTake, uint256 priceMulE18_, uint64 minFee) internal { - FuzzPositiveParams memory p; + struct FuzzPositiveParams { + uint64 minFee; + uint64 withdrawalFeeBpsBound; + uint256 protocolTake; + uint256 priceMulE18; + address observer; + uint256 upliftFeePctE18; + uint256 minFeePctE18; + uint256 effectiveFeePctE18; + uint256 amountOut; + uint256 hookFeeTokens; + uint256 adminFeeTokens; + uint256 adminMintedBpt; + uint256[] maxIn; + uint256[] minsOut; + int256[] prices; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; + } - // bounds - p.minFee = uint64(bound(minFee, 5, 100)); - p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); - if (protocolTake > 0) { - p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; - } else { - p.protocolTake = 0; - } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); - vm.stopPrank(); + function _runPositiveFuzz( + uint64 withdrawalFeeBps_, + uint256 protocolTake, + uint256 priceMulE18_, + uint64 minFee + ) internal { + FuzzPositiveParams memory p; + + // bounds + p.minFee = uint64(bound(minFee, 5, 100)); + p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); + if (protocolTake > 0) { + p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; + } else { + p.protocolTake = 0; + } + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); + vm.stopPrank(); - p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); - - // fresh router - vm.prank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps - p.minFee * 1e14, // minWithdrawalFeeBps - address(updateWeightRunner), - "Uplift LP v1", - "Uplift LP v1", - "Uplift LP v1" - ); - vm.stopPrank(); + p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); - poolHooksContract = address(upliftOnlyRouter); - (pool, ) = createPool(); - _approveAllUsers(); - initPool(); + // fresh router + vm.prank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps + p.minFee * 1e14, // minWithdrawalFeeBps + address(updateWeightRunner), + "Uplift LP v1", + "Uplift LP v1", + "Uplift LP v1" + ); + vm.stopPrank(); - p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); - vm.stopPrank(); + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); - p.prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) p.prices[i] = int256(i) * int256(p.priceMulE18); - updateWeightRunner.setMockPrices(pool, p.prices); + p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); + vm.stopPrank(); - p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); - p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); + p.prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) p.prices[i] = int256(i) * int256(p.priceMulE18); + updateWeightRunner.setMockPrices(pool, p.prices); - p.beforeBalances = getBalances(p.observer); + p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); + p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); - vm.stopPrank(); + p.beforeBalances = getBalances(p.observer); - p.afterBalances = getBalances(p.observer); + vm.prank(bob); + uint256[] memory amountsOut = upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); + vm.stopPrank(); - // fee percentage, 18 dec - p.upliftFeePctE18 = (p.priceMulE18 - 1e18).mulUp(1e18).divDown(p.priceMulE18).mulUp(p.withdrawalFeeBpsBound * 1e14); - // min - p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // e18-scaled - p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; + p.afterBalances = getBalances(p.observer); - p.amountOut = bptAmount / 2; // per-token - p.hookFeeTokens = p.amountOut.mulUp(p.effectiveFeePctE18); + // fee percentage, 18 dec + p.upliftFeePctE18 = (p.priceMulE18 - 1e18).mulUp(1e18).divDown(p.priceMulE18).mulUp( + p.withdrawalFeeBpsBound * 1e14 + ); + // min + p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // e18-scaled + p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; - assertEq(p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], p.amountOut - p.hookFeeTokens, "bob DAI"); - assertEq(p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "bob USDC"); + assertEq(p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], amountsOut[0], "bob DAI"); + assertEq(p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], amountsOut[1], "bob USDC"); - assertEq(p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], p.amountOut - p.hookFeeTokens, "pool DAI"); - assertEq(p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "pool USDC"); + assertEq(p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], amountsOut[0], "pool DAI"); + assertEq( + p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], + amountsOut[1], + "pool USDC" + ); - assertEq(p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], p.amountOut - p.hookFeeTokens, "vault DAI"); - assertEq(p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], p.amountOut - p.hookFeeTokens, "vault USDC"); + assertEq( + p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], + amountsOut[0], + "vault DAI" + ); + + assertEq( + p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], + amountsOut[1], + "vault USDC" + ); + + p.amountOut = bptAmount / 2; // per-token (kept for admin calc parity with existing suite) + p.hookFeeTokens = p.amountOut.mulUp(p.effectiveFeePctE18); - p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); // 0 if take = 0 - p.adminMintedBpt = p.adminFeeTokens.mulDown(bptAmount).divDown(p.amountOut); + p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); // 0 if take = 0 + p.adminMintedBpt = p.adminFeeTokens.mulDown(bptAmount).divDown(p.amountOut); - // totalSupply must fall by the burned amount minus what we just minted - assertApproxEqAbs(p.beforeBalances.poolSupply - p.afterBalances.poolSupply, bptAmount - p.adminMintedBpt, 2, "pool supply"); + // totalSupply must fall by the burned amount minus what we just minted + assertApproxEqAbs( + p.beforeBalances.poolSupply - p.afterBalances.poolSupply, + bptAmount - p.adminMintedBpt, + 2, + "pool supply" + ); - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); - assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); + assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); - if (p.protocolTake == 0) { - assertEq(p.afterBalances.userBpt, 0, "admin BPT"); - } else { - assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); - } + if (p.protocolTake == 0) { + assertEq(p.afterBalances.userBpt, 0, "admin BPT"); + } else { + assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); } - + } function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); From e52af3d13bd3475bbb66a0d00c4b75731e6cfc99 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 30 Sep 2025 12:19:10 +0100 Subject: [PATCH 54/64] formatting --- pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index fb7befad..81a49930 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -863,7 +863,9 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { vm.stopPrank(); p.prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) p.prices[i] = int256(i) * int256(p.priceMulE18); + for (uint256 i; i < tokens.length; ++i){ + p.prices[i] = int256(i) * int256(p.priceMulE18); + } updateWeightRunner.setMockPrices(pool, p.prices); p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); From befc3111c0fad4ebb3245861a2e55941f75a398e Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 2 Oct 2025 10:47:53 +0100 Subject: [PATCH 55/64] unbalanced add debug --- .../hooks-quantamm/UpliftOnlyExample.sol | 271 +++++++------- pkg/pool-hooks/foundry.toml | 2 +- .../test/foundry/UpliftExample.t.sol | 333 +++++++++++++++++- .../foundry/UpliftExampleCodeHawkTests.t.sol | 206 +++++++++++ .../test/foundry/UpliftExampleFuzz.t.sol | 208 ++++++++++- .../foundry/utils/MockChainlinkOracles.sol | 35 ++ 6 files changed, 924 insertions(+), 131 deletions(-) create mode 100644 pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol create mode 100644 pkg/pool-hooks/test/foundry/utils/MockChainlinkOracles.sol diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 4e718a52..e8190257 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity >=0.8.24; +pragma solidity >=0.8.27; import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -94,6 +94,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% uint64 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 10e16; // 10% + /** * @notice A new `UpliftOnlyExampleRegistered` contract has been registered successfully for a given pool. * @dev If the registration fails the call will revert, so there will be no event. @@ -236,10 +237,10 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { * @param wethIsEth A boolean indicating whether WETH should be treated as ETH. * @param userData Additional data provided by the user for the liquidity addition. * @return amountsIn The actual amounts of tokens deposited into the pool. - * @custom:requirements + * @custom:requirements * - The pool must be registered with the QuantAMM update weight runner. * - The pool must be approved with oracles that provide the prices. - * @custom:errors + * @custom:errors * - `TooManyDeposits`: Thrown if the user has exceeded the maximum allowed deposits for the pool. * - `TooFastDeposits`: Thrown if deposits are made too frequently within the same block. */ @@ -298,6 +299,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { nftPool[tokenID] = pool; } + /** * @notice Removes liquidity from the pool proportionally based on the provided BPT amount. * @dev This function ensures that only the owner of the deposit can withdraw liquidity. @@ -317,15 +319,23 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { bool wethIsEth, address pool ) external payable saveSender(msg.sender) returns (uint256[] memory amountsOut) { - uint depositLength = poolsFeeData[pool][msg.sender].length; + address quantAMMAdmin = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(); + address sender = address(this); + if (msg.sender != quantAMMAdmin) { + uint depositLength = poolsFeeData[pool][msg.sender].length; - if (depositLength == 0) { - revert WithdrawalByNonOwner(msg.sender, pool, bptAmountIn); + if (depositLength == 0) { + revert WithdrawalByNonOwner(msg.sender, pool, bptAmountIn); + } + } + else{ + sender = quantAMMAdmin; } + // Do removeLiquidity operation - tokens sent to msg.sender. amountsOut = _removeLiquidityProportional( pool, - address(this), + sender, msg.sender, bptAmountIn, minAmountsOut, @@ -409,7 +419,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { if (liquidityManagement.enableDonation == false) { revert PoolDoesNotSupportDonation(); } - if (liquidityManagement.disableUnbalancedLiquidity == false) { + if (liquidityManagement.disableUnbalancedLiquidity == true) { revert PoolSupportsUnbalancedLiquidity(); } @@ -424,7 +434,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // `enableHookAdjustedAmounts` must be true for all contracts that modify the `amountCalculated` // in after hooks. Otherwise, the Vault will ignore any "hookAdjusted" amounts, and the transaction // might not settle. (It should be false if the after hooks do something else.) - hookFlags.enableHookAdjustedAmounts = true; + hookFlags.enableHookAdjustedAmounts = false; hookFlags.shouldCallBeforeAddLiquidity = true; hookFlags.shouldCallAfterRemoveLiquidity = true; hookFlags.shouldCallAfterSwap = true; @@ -458,6 +468,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { //needed to avoid stack too deep error struct AfterRemoveLiquidityData { address pool; + address userAddress; + address quantammAdminAddress; uint256 bptAmountIn; uint256[] amountsOutRaw; uint256[] minAmountsOut; @@ -487,16 +499,16 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { * @param userData Additional data provided by the user for the liquidity removal operation. * @return success A boolean indicating whether the operation was successful. * @return hookAdjustedAmountsOutRaw The adjusted amounts of tokens withdrawn after fees are applied. - * - * @notice Fees are calculated based on the uplift in pool value since the deposit and are capped by + * + * @notice Fees are calculated based on the uplift in pool value since the deposit and are capped by * `_MAX_UPLIFT_FEE_PERCENTAGE`. A minimum withdrawal fee (`minWithdrawalFeeBps`) is always applied. * @notice Admin fees are redistributed to the admin's address, while other accrued fees are donated back to the pool. * @notice This function ensures that fees do not exceed the amounts being withdrawn and reverts if this condition is violated. - * + * * @dev The function interacts with the Vault to add liquidity back to the pool for fee redistribution. * @dev The function assumes that liquidity removal is only performed via the Router/Hook itself to ensure proper fee application. * @dev Emits an `ExitFeeCharged` event when admin fees are charged. - * + * * @custom:security Only callable by the Vault and self-router to ensure controlled execution. */ function onAfterRemoveLiquidity( @@ -509,139 +521,148 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] memory, bytes memory userData ) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { - address userAddress = address(bytes20(userData)); AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ - pool: pool, - bptAmountIn: bptAmountIn, - amountsOutRaw: amountsOutRaw, - minAmountsOut: new uint256[](amountsOutRaw.length), - accruedFees: new uint256[](amountsOutRaw.length), - accruedQuantAMMFees: new uint256[](amountsOutRaw.length), - currentFee: minWithdrawalFeeBps, - feeAmount: 0, - prices: IUpdateWeightRunner(_updateWeightRunner).getData(pool), - lpTokenDepositValueNow: 0, - lpTokenDepositValueChange: 0, - lpTokenDepositValue: 0, - tokens: new IERC20[](amountsOutRaw.length), - feeDataArrayLength: 0, - amountLeft: 0, - feePercentage: 0, - adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() - }); - - // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. - hookAdjustedAmountsOutRaw = amountsOutRaw; - - // Calculate the current value of the pool in USD, rounding down to favor LPs. - localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); - - FeeData[] storage feeDataArray = poolsFeeData[pool][userAddress]; - localData.feeDataArrayLength = feeDataArray.length; - localData.amountLeft = bptAmountIn; - - for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { - localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; - localData.lpTokenDepositValueChange = - ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / - int256(localData.lpTokenDepositValueNow); - - uint256 feePerLP; - - // Calculate fee based on uplift in pool value since deposit, ensuring minimum withdrawal fee is applied. - if (localData.lpTokenDepositValueChange > 0) { - feePerLP = (uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps))); - } + pool: pool, + bptAmountIn: bptAmountIn, + amountsOutRaw: amountsOutRaw, + minAmountsOut: new uint256[](amountsOutRaw.length), + accruedFees: new uint256[](amountsOutRaw.length), + accruedQuantAMMFees: new uint256[](amountsOutRaw.length), + currentFee: minWithdrawalFeeBps, + feeAmount: 0, + prices: IUpdateWeightRunner(_updateWeightRunner).getData(pool), + lpTokenDepositValueNow: 0, + lpTokenDepositValueChange: 0, + lpTokenDepositValue: 0, + tokens: new IERC20[](amountsOutRaw.length), + feeDataArrayLength: 0, + amountLeft: 0, + feePercentage: 0, + adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(), + userAddress: address(bytes20(userData)), + quantammAdminAddress:IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin() + }); + + if (localData.userAddress == localData.quantammAdminAddress) { + return (true, amountsOutRaw); + } else { + + // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. + hookAdjustedAmountsOutRaw = amountsOutRaw; + + // Calculate the current value of the pool in USD, rounding down to favor LPs. + localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); + + FeeData[] storage feeDataArray = poolsFeeData[pool][localData.userAddress]; + localData.feeDataArrayLength = feeDataArray.length; + localData.amountLeft = bptAmountIn; + + for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { + localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; + localData.lpTokenDepositValueChange = + ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / + int256(localData.lpTokenDepositValueNow); + + uint256 feePerLP; + + // Calculate fee based on uplift in pool value since deposit, ensuring minimum withdrawal fee is applied. + if (localData.lpTokenDepositValueChange > 0) { + feePerLP = ( + uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps)) + ); + } - if (feePerLP < uint256(minWithdrawalFeeBps)) { - feePerLP = uint256(minWithdrawalFeeBps); - } + if (feePerLP < uint256(minWithdrawalFeeBps)) { + feePerLP = uint256(minWithdrawalFeeBps); + } - if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { - feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); - } + if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { + feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); + } - // Burn deposits sequentially (FILO) until the requested amount is fully withdrawn. - if (feeDataArray[i].amount <= localData.amountLeft) { - uint256 withdrawAmount = feeDataArray[i].amount; + // Burn deposits sequentially (FILO) until the requested amount is fully withdrawn. + if (feeDataArray[i].amount <= localData.amountLeft) { + uint256 withdrawAmount = feeDataArray[i].amount; - localData.feeAmount += withdrawAmount.mulDown(feePerLP); - localData.amountLeft -= feeDataArray[i].amount; + localData.feeAmount += withdrawAmount.mulDown(feePerLP); + localData.amountLeft -= feeDataArray[i].amount; - lpNFT.burn(feeDataArray[i].tokenID); + lpNFT.burn(feeDataArray[i].tokenID); - delete feeDataArray[i]; - feeDataArray.pop(); + delete feeDataArray[i]; + feeDataArray.pop(); - if (localData.amountLeft == 0) { + if (localData.amountLeft == 0) { + break; + } + } else { + feeDataArray[i].amount -= localData.amountLeft; + localData.feeAmount += localData.amountLeft.mulDown(feePerLP); break; } - } else { - feeDataArray[i].amount -= localData.amountLeft; - localData.feeAmount += localData.amountLeft.mulDown(feePerLP); - break; } - } - localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); - hookAdjustedAmountsOutRaw = localData.amountsOutRaw; - localData.tokens = _vault.getPoolTokens(localData.pool); + localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); + hookAdjustedAmountsOutRaw = localData.amountsOutRaw; + localData.tokens = _vault.getPoolTokens(localData.pool); - localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); + localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); - // Charge fees proportional to the `amountOut` of each token. - for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { - uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); + // Charge fees proportional to the `amountOut` of each token. + for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { + uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); - if (localData.adminFeePercent > 0) { - localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); - } + if (localData.adminFeePercent > 0) { + localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); + } + + localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; + if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { + // Ensure fees do not exceed the amounts being withdrawn. + revert("Accrued fees exceed amounts out"); + } + hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; - localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { - // Ensure fees do not exceed the amounts being withdrawn. - revert("Accrued fees exceed amounts out"); + // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. } - hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; - // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. - } + if (localData.adminFeePercent > 0) { + // Redistribute admin fees back to the QuantAMM admin. + _vault.addLiquidity( + AddLiquidityParams({ + pool: localData.pool, + to: localData.quantammAdminAddress, + maxAmountsIn: localData.accruedQuantAMMFees, + minBptAmountOut: localData.feeAmount.mulUp(localData.adminFeePercent), + kind: AddLiquidityKind.UNBALANCED, + userData: userData + }) + ); + + emit ExitFeeCharged( + localData.userAddress, + localData.pool, + IERC20(localData.pool), + localData.feeAmount.mulDown(localData.adminFeePercent) + ); + } - if (localData.adminFeePercent > 0) { - // Redistribute admin fees back to the QuantAMM admin. - _vault.addLiquidity( - AddLiquidityParams({ - pool: localData.pool, - to: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), - maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: localData.feeAmount.mulUp(localData.adminFeePercent), - kind: AddLiquidityKind.PROPORTIONAL, - userData: userData - }) - ); - emit ExitFeeCharged( - userAddress, - localData.pool, - IERC20(localData.pool), - localData.feeAmount.mulDown(localData.adminFeePercent) - ); - } + if (localData.adminFeePercent != 1e18) { + // Donate accrued fees back to LPs. + _vault.addLiquidity( + AddLiquidityParams({ + pool: localData.pool, + to: localData.userAddress, // It would mint BPTs to router, but it's a donation so no BPT is minted + maxAmountsIn: localData.accruedFees, // Donate all accrued fees back to the pool (i.e. to the LPs) + minBptAmountOut: 0, // Donation does not return BPTs, any number above 0 will revert + kind: AddLiquidityKind.DONATION, + userData: bytes("") // User data is not used by donation, so we can set it to an empty string + }) + ); + } - if (localData.adminFeePercent != 1e18) { - // Donate accrued fees back to LPs. - _vault.addLiquidity( - AddLiquidityParams({ - pool: localData.pool, - to: userAddress, // It would mint BPTs to router, but it's a donation so no BPT is minted - maxAmountsIn: localData.accruedFees, // Donate all accrued fees back to the pool (i.e. to the LPs) - minBptAmountOut: 0, // Donation does not return BPTs, any number above 0 will revert - kind: AddLiquidityKind.DONATION, - userData: bytes("") // User data is not used by donation, so we can set it to an empty string - }) - ); + return (true, hookAdjustedAmountsOutRaw); } - - return (true, hookAdjustedAmountsOutRaw); } /// @param _from the owner to transfer from diff --git a/pkg/pool-hooks/foundry.toml b/pkg/pool-hooks/foundry.toml index c56461b8..3e6c2012 100755 --- a/pkg/pool-hooks/foundry.toml +++ b/pkg/pool-hooks/foundry.toml @@ -25,7 +25,7 @@ remappings = [ ] optimizer = true optimizer_runs = 999 -solc_version = '0.8.26' +solc_version = '0.8.30' auto_detect_solc = false evm_version = 'cancun' ignored_error_codes = [2394, 5574, 3860] # Transient storage, code size diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 084785c0..5b17478b 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -182,7 +182,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { roleAccounts.poolCreator = lp; LiquidityManagement memory liquidityManagement; - liquidityManagement.disableUnbalancedLiquidity = true; + liquidityManagement.disableUnbalancedLiquidity = false; liquidityManagement.enableDonation = true; factoryMock.registerPool( @@ -1153,4 +1153,335 @@ contract UpliftOnlyExampleTest is BaseVaultTest { ); assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); } + + //https://codehawks.cyfrin.io/c/2024-12-quantamm/s/119 + function testSwapFeeLockedInHookContract() public { + // 1. Set hook fee percentage + uint64 hookFeePercentage = 1e16; // 1% + vm.prank(owner); + upliftOnlyRouter.setHookSwapFeePercentage(hookFeePercentage); + + // 2. Log initial balances + console.log("--- Initial Balances ---"); + console.log("Hook Contract USDC Balance:", usdc.balanceOf(address(upliftOnlyRouter))); + console.log("Owner USDC Balance:", usdc.balanceOf(owner)); + + // 3. Perform swap to generate fees + uint256 swapAmount = 100e18; + vm.prank(bob); + router.swapSingleTokenExactIn(address(pool), dai, usdc, swapAmount, 0, MAX_UINT256, false, bytes("")); + + // 4. Log final balances to show fees are stuck in hook + console.log("\n--- After Swap Balances ---"); + console.log("Hook Contract USDC Balance:", usdc.balanceOf(address(upliftOnlyRouter))); + console.log("Owner USDC Balance:", usdc.balanceOf(owner)); + + console.log("\n--- Fees are locked in hook contract ---"); + } + + function testUpliftOnlyAdminWithdraw_NoBptBalance() public { + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + vm.stopPrank(); + + // Add liquidity so bob has BPT to remove liquidity. + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + + vm.startPrank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + + //trying to remove liquidity added to QuantAMMAdmin with the value added from bob removing liquidity the remove attempt will revert with `WithdrawalByNonOwner` error + vm.prank(updateWeightRunner.getQuantAMMAdmin()); + vm.expectRevert(); + upliftOnlyRouter.removeLiquidityProportional(500000000000000000, minAmountsOut, false, pool); + vm.stopPrank(); + } + + function testUpliftOnlyAdmin_Succeeds_WithPositiveUplift() public { + // Configure the uplift fee take so that when there IS uplift, the admin receives BPT + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); // 50% of uplift fee goes to admin as BPT + vm.stopPrank(); + + // (Optional) keep ownership consistent with other tests that transfer hook ownership + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + + // ------------------------- + // 1) Bob adds liquidity + // ------------------------- + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + // Sanity: a deposit position (NFT/array) should be recorded for Bob + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "expected one position for Bob"); + + // ------------------------------------------------------ + // 2) Create POSITIVE uplift: double the oracle prices + // ------------------------------------------------------ + // Using the same price-setting pattern as other tests: + // prices[i] = int256(i) * 2e18 (for two tokens: [0, 2e18]) + int256[] memory prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices[i] = int256(i) * 2e18; + } + updateWeightRunner.setMockPrices(pool, prices); + + // -------------------------------------------- + // 3) Bob removes liquidity — this should mint + // BPT to the QuantAMM admin due to uplift + // -------------------------------------------- + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + + address admin = updateWeightRunner.getQuantAMMAdmin(); + + // Snapshot admin balances before + uint256 adminBptBefore = IERC20(pool).balanceOf(admin); + uint256 adminDaiBefore = dai.balanceOf(admin); + uint256 adminUsdcBefore = usdc.balanceOf(admin); + + vm.startPrank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + + // Verify uplift actually resulted in admin BPT being minted + uint256 adminBptAfterMint = IERC20(pool).balanceOf(admin); + assertGt(adminBptAfterMint, adminBptBefore, "expected admin BPT minted due to positive uplift"); + + // ---------------------------------------------------- + // 4) Admin withdraws their fee BPT via normal router + // path (admin fast-path) — should succeed + // ---------------------------------------------------- + // Approve router to pull admin’s BPT + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + // Withdraw ALL admin BPT; router will clamp if needed + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBptAfterMint, minAmountsOut, false, pool); + vm.stopPrank(); + + // ---------------------------------------- + // 5) Assertions: BPT down, tokens up + // ---------------------------------------- + uint256 adminBptFinal = IERC20(pool).balanceOf(admin); + uint256 adminDaiFinal = dai.balanceOf(admin); + uint256 adminUsdcFinal = usdc.balanceOf(admin); + + assertEq(adminBptFinal, 0, "admin has withdrawn all BPTs"); + + // Underlyings received + assertGt(adminDaiFinal, adminDaiBefore, "admin DAI should increase after withdraw"); + assertGt(adminUsdcFinal, adminUsdcBefore, "admin USDC should increase after withdraw"); + + // Router should not retain BPT + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router should not hold BPT"); + } + + function testUpliftOnlyAdmin_PartialWithdraw_Succeeds() public { + // 50% uplift fee take + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + vm.stopPrank(); + + // (Optional) match ownership pattern used in other tests + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + + // Bob adds liquidity + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + // Bob has a recorded position + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "expected one position for Bob"); + + // Create POSITIVE uplift (double prices like the working test) + int256[] memory prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices[i] = int256(i) * 2e18; + } + updateWeightRunner.setMockPrices(pool, prices); + + // Bob removes → admin gets fee BPT + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + address admin = updateWeightRunner.getQuantAMMAdmin(); + + vm.startPrank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertGt(adminBpt, 0, "admin should have received BPT from uplift"); + + // Approve router and withdraw HALF + uint256 half = adminBpt / 2; + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + uint256 adminDaiBefore = dai.balanceOf(admin); + uint256 adminUsdcBefore = usdc.balanceOf(admin); + + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(half, minAmountsOut, false, pool); + vm.stopPrank(); + + // Half should remain + uint256 adminBptAfter = IERC20(pool).balanceOf(admin); + assertEq(adminBptAfter, adminBpt - half, "expected half of admin BPT to remain after partial withdraw"); + + // Underlyings increased + assertGt(dai.balanceOf(admin), adminDaiBefore, "admin DAI should increase"); + assertGt(usdc.balanceOf(admin), adminUsdcBefore, "admin USDC should increase"); + + // Admin should not have any user-position metadata + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, admin).length, 0, "admin should not accrue user fee data"); +} + +function testUpliftOnlyAdmin_OverWithdraw_Reverts() public { + // 50% uplift fee take + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + vm.stopPrank(); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + + // Bob adds liquidity + uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + // Positive uplift + int256[] memory prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices[i] = int256(i) * 2e18; + } + updateWeightRunner.setMockPrices(pool, prices); + + // Bob exits → admin earns BPT + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + address admin = updateWeightRunner.getQuantAMMAdmin(); + + vm.startPrank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertGt(adminBpt, 0, "admin should have BPT"); + + // Approve router then attempt to withdraw MORE than balance + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + vm.prank(admin); + vm.expectRevert(); // Vault will enforce ERC20InsufficientBalance(admin, …) + upliftOnlyRouter.removeLiquidityProportional(adminBpt + 1, minAmountsOut, false, pool); + vm.stopPrank(); + + // Balance unchanged + assertEq(IERC20(pool).balanceOf(admin), adminBpt, "admin BPT should remain unchanged after failed over-withdraw"); +} + +function testUpliftOnlyAdmin_MultiAccruals_ThenWithdrawAll() public { + // 50% uplift fee take + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + vm.stopPrank(); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + vm.stopPrank(); + + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + + // -------- Cycle 1: add → uplift → remove -------- + { + uint256[] memory maxIn1 = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn1, bptAmount, false, bytes("")); + vm.stopPrank(); + + // Positive uplift (2x scale) + int256[] memory prices1 = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices1[i] = int256(i) * 2e18; + } + updateWeightRunner.setMockPrices(pool, prices1); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + } + + uint256 adminBptAfter1 = IERC20(pool).balanceOf(admin); + assertGt(adminBptAfter1, 0, "admin should have BPT after cycle 1"); + + // -------- Cycle 2: add → stronger uplift → remove -------- + { + uint256[] memory maxIn2 = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn2, bptAmount, false, bytes("")); + vm.stopPrank(); + + // Stronger uplift (e.g., 4x scale) + int256[] memory prices2 = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + prices2[i] = int256(i) * 4e18; + } + updateWeightRunner.setMockPrices(pool, prices2); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + vm.stopPrank(); + } + + uint256 adminBptAfter2 = IERC20(pool).balanceOf(admin); + assertGt(adminBptAfter2, adminBptAfter1, "admin BPT should have increased after cycle 2"); + + // Approve and withdraw ALL fee BPT in one go + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + uint256 adminDaiBefore = dai.balanceOf(admin); + uint256 adminUsdcBefore = usdc.balanceOf(admin); + + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBptAfter2, minAmountsOut, false, pool); + vm.stopPrank(); + + // All burned + assertEq(IERC20(pool).balanceOf(admin), 0, "admin should have withdrawn all fee BPT"); + + // Underlyings received + assertGt(dai.balanceOf(admin), adminDaiBefore, "admin DAI should increase"); + assertGt(usdc.balanceOf(admin), adminUsdcBefore, "admin USDC should increase"); + + // Admin never accumulates user fee positions + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, admin).length, 0, "admin should not have user fee data recorded"); +} + } diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol new file mode 100644 index 00000000..4115e776 --- /dev/null +++ b/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol @@ -0,0 +1,206 @@ +// SPDX-License-Identifier: SEE LICENSE IN LICENSE +pragma solidity ^0.8.24; + +import { BaseVaultTest } from "@balancer-labs/v3-vault/test/foundry/utils/BaseVaultTest.sol"; +import { QuantAMMWeightedPool, IQuantAMMWeightedPool } from "pool-quantamm/contracts/QuantAMMWeightedPool.sol"; +import {QuantAMMWeightedPoolFactory} from "pool-quantamm/contracts/QuantAMMWeightedPoolFactory.sol"; +import { UpdateWeightRunner, IUpdateRule } from "pool-quantamm/contracts/UpdateWeightRunner.sol"; +import { MockChainlinkOracle } from "./utils/MockChainlinkOracles.sol"; +import "@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol"; +import { IUpdateRule } from "pool-quantamm/contracts/rules/UpdateRule.sol"; +import { MockMomentumRule } from "pool-quantamm/contracts/mock/mockRules/MockMomentumRule.sol"; +import { UpliftOnlyExample } from "../../contracts/hooks-quantamm/UpliftOnlyExample.sol"; +import { IPermit2 } from "permit2/src/interfaces/IPermit2.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; +import { IVaultAdmin } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultAdmin.sol"; +import { PoolRoleAccounts, TokenConfig, HooksConfig } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; +import { IWETH } from "@balancer-labs/v3-interfaces/contracts/solidity-utils/misc/IWETH.sol"; +import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { Router } from "@balancer-labs/v3-vault/contracts/Router.sol"; +import {console} from "forge-std/console.sol"; + +contract UpliftExampleCode is BaseVaultTest { // use default dai, usdc, weth and mock oracle + //address daiOnETH = 0x6B175474E89094C44Da98b954EedeAC495271d0F; + //address usdcOnETH = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; + //address wethOnETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; + uint256 internal daiIdx; + uint256 internal usdcIdx; + + uint256 SWAP_FEE_PERCENTAGE = 10e16; + + address quantAdmin = makeAddr("quantAdmin"); + address owner = makeAddr("owner"); + address poolCreator = makeAddr("poolCreator"); + address liquidityProvider1 = makeAddr("liquidityProvider1"); + address liquidityProvider2 = makeAddr("liquidityProvider2"); + address attacker = makeAddr("attacker"); + //address usdcUsd = 0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6; + //address daiUsd = 0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9; + //address ethOracle = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419; + + QuantAMMWeightedPool public weightedPool; + QuantAMMWeightedPoolFactory public weightedPoolFactory; + UpdateWeightRunner public updateWeightRunner; + MockChainlinkOracle mockOracledai; + MockChainlinkOracle mockOracleusdc; + MockChainlinkOracle ethOracle; + Router externalRouter; + + UpliftOnlyExample upLifthook; + + function setUp() public override { + vm.warp(block.timestamp + 3600); + mockOracledai = new MockChainlinkOracle(1e18, 0); + mockOracleusdc = new MockChainlinkOracle(1e18, 0); + ethOracle = new MockChainlinkOracle(2000e18, 0); + updateWeightRunner = new UpdateWeightRunner(quantAdmin, address(ethOracle)); + + vm.startPrank(quantAdmin); + updateWeightRunner.addOracle(OracleWrapper(address(mockOracledai))); + updateWeightRunner.addOracle(OracleWrapper(address(mockOracleusdc))); + vm.stopPrank(); + + super.setUp(); + + (daiIdx, usdcIdx) = getSortedIndexes(address(dai), address(usdc)); + + vm.prank(quantAdmin); + updateWeightRunner.setApprovedActionsForPool(pool, 2); + } + + function createHook() internal override returns (address) { + // Create the factory here, because it needs to be deployed after the Vault, but before the hook contract. + weightedPoolFactory = new QuantAMMWeightedPoolFactory(IVault(address(vault)), 365 days, "Factory v1", "Pool v1", address(updateWeightRunner)); + // lp will be the owner of the hook. Only LP is able to set hook fee percentages. + vm.prank(quantAdmin); + upLifthook = new UpliftOnlyExample(IVault(address(vault)), IWETH(weth), IPermit2(permit2), 100, 100, address(updateWeightRunner), "version 1", "lpnft", "LP-NFT"); + return address(upLifthook); + } + + function _createPool( + address[] memory tokens, + string memory label + ) internal override returns (address newPool, bytes memory poolArgs) { + QuantAMMWeightedPoolFactory.CreationNewPoolParams memory poolParams = _createPoolParams(tokens); + + (newPool, poolArgs) = weightedPoolFactory.create(poolParams); + vm.label(newPool, label); + + authorizer.grantRole(vault.getActionId(IVaultAdmin.setStaticSwapFeePercentage.selector), quantAdmin); + vm.prank(quantAdmin); + vault.setStaticSwapFeePercentage(newPool, SWAP_FEE_PERCENTAGE); + } + + function _createPoolParams(address[] memory tokens) internal returns (QuantAMMWeightedPoolFactory.CreationNewPoolParams memory retParams) { + PoolRoleAccounts memory roleAccounts; + + uint64[] memory lambdas = new uint64[](1); + lambdas[0] = 0.2e18; + + int256[][] memory parameters = new int256[][](1); + parameters[0] = new int256[](1); + parameters[0][0] = 0.2e18; + + address[][] memory oracles = new address[][](2); + oracles[0] = new address[](1); + oracles[0][0] = address(mockOracledai); + oracles[1] = new address[](1); + oracles[1][0] = address(mockOracleusdc); + + uint256[] memory normalizedWeights = new uint256[](2); + normalizedWeights[0] = uint256(0.5e18); + normalizedWeights[1] = uint256(0.5e18); + + IERC20[] memory ierctokens = new IERC20[](2); + for (uint256 i = 0; i < tokens.length; i++) { + ierctokens[i] = IERC20(tokens[i]); + } + + int256[] memory initialWeights = new int256[](2); + initialWeights[0] = 0.5e18; + initialWeights[1] = 0.5e18; + + int256[] memory initialMovingAverages = new int256[](2); + initialMovingAverages[0] = 0.5e18; + initialMovingAverages[1] = 0.5e18; + + int256[] memory initialIntermediateValues = new int256[](2); + initialIntermediateValues[0] = 0.5e18; + initialIntermediateValues[1] = 0.5e18; + + TokenConfig[] memory tokenConfig = vault.buildTokenConfig(ierctokens); + + retParams = QuantAMMWeightedPoolFactory.CreationNewPoolParams( + "Pool With Donation", + "PwD", + tokenConfig, + normalizedWeights, + roleAccounts, + 0.02e18, + address(poolHooksContract), + true, + true, // Do not disable unbalanced add/remove liquidity + 0x0000000000000000000000000000000000000000000000000000000000000000, + initialWeights, + IQuantAMMWeightedPool.PoolSettings( + ierctokens, + IUpdateRule(new MockMomentumRule(owner)), + oracles, + 60, + lambdas, + 0.2e18, + 0.2e18, + 0.3e18, + parameters, + poolCreator + ), + initialMovingAverages, + initialIntermediateValues, + 3600, + 16,//able to set weights + new string[][](0) + ); + } + + function testRemoveLiquidityUplift() public { + addLiquidity(); + + uint256[] memory minAmountsOut = new uint256[](2); + minAmountsOut[0] = 1; + minAmountsOut[1] = 1; + + vm.prank(liquidityProvider1); + UpliftOnlyExample(payable(poolHooksContract)).removeLiquidityProportional(2e18, minAmountsOut, true, pool); + } + + function addLiquidity() public { + deal(address(dai), liquidityProvider1, 100e18); + deal(address(usdc), liquidityProvider1, 100e18); + + uint256[] memory maxAmountsIn = new uint256[](2); + maxAmountsIn[0] = 2.1e18; + maxAmountsIn[1] = 2.1e18; + uint256 exactBptAmountOut = 2e18; + + vm.startPrank(liquidityProvider1); + IERC20(address(dai)).approve(address(permit2), 100e18); + IERC20(address(usdc)).approve(address(permit2), 100e18); + permit2.approve(address(dai), address(poolHooksContract), 100e18, uint48(block.timestamp)); + permit2.approve(address(usdc), address(poolHooksContract), 100e18, uint48(block.timestamp)); + UpliftOnlyExample(payable(poolHooksContract)).addLiquidityProportional(pool, maxAmountsIn, exactBptAmountOut, false, abi.encodePacked(liquidityProvider1)); + vm.stopPrank(); + + deal(address(dai), liquidityProvider2, 100e18); + deal(address(usdc), liquidityProvider2, 100e18); + + vm.startPrank(liquidityProvider2); + IERC20(address(dai)).approve(address(permit2), 100e18); + IERC20(address(usdc)).approve(address(permit2), 100e18); + permit2.approve(address(dai), address(poolHooksContract), 100e18, uint48(block.timestamp)); + permit2.approve(address(usdc), address(poolHooksContract), 100e18, uint48(block.timestamp)); + UpliftOnlyExample(payable(poolHooksContract)).addLiquidityProportional(pool, maxAmountsIn, exactBptAmountOut, false, abi.encodePacked(liquidityProvider2)); + vm.stopPrank(); + + console.log("Liquidity added"); + } +} \ No newline at end of file diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 81a49930..0d10596a 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -179,7 +179,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { roleAccounts.poolCreator = lp; LiquidityManagement memory liquidityManagement; - liquidityManagement.disableUnbalancedLiquidity = true; + liquidityManagement.disableUnbalancedLiquidity = false; liquidityManagement.enableDonation = true; factoryMock.registerPool( @@ -863,7 +863,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { vm.stopPrank(); p.prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i){ + for (uint256 i; i < tokens.length; ++i) { p.prices[i] = int256(i) * int256(p.priceMulE18); } updateWeightRunner.setMockPrices(pool, p.prices); @@ -902,13 +902,13 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { amountsOut[0], "vault DAI" ); - + assertEq( p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], amountsOut[1], "vault USDC" ); - + p.amountOut = bptAmount / 2; // per-token (kept for admin calc parity with existing suite) p.hookFeeTokens = p.amountOut.mulUp(p.effectiveFeePctE18); @@ -961,4 +961,204 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); vm.stopPrank(); } +function testFuzzUpliftOnlyAdmin_Succeeds_WithPositiveUplift( + uint256 feeTakeRaw, + uint256 priceScaleRaw, + uint256 minBptRaw +) public { + // --- Fuzz bounds chosen to avoid exact-join round-up beating maxAmountsIn --- + // Fee take <= 10% + uint256 feeTake = bound(feeTakeRaw, 1e10, 10e16); // [0, 0.10e18] + // Mild uplift 1.02x–1.10x + uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02e18, 1.10e18] + // Large, even BPT for initial join -> deep pool buffers + uint256 minBptOut = bound(minBptRaw, 6e21, 1e22); + minBptOut -= (minBptOut % 2); + + // Set fee take + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // Bob adds liquidity with conservative minBptOut + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + // Positive uplift (5 entries as in other tests) + int256[] memory prices = new int256[](5); + prices[0] = 0; + prices[1] = int256(priceScale); + prices[2] = int256(priceScale * 2); + prices[3] = int256(priceScale * 3); + prices[4] = int256(priceScale * 4); + updateWeightRunner.setMockPrices(pool, prices); + + // Bob removes ALL router BPT (even). Zero mins to avoid extra constraints. + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertGt(routerBpt, 0, "router should hold BPT from Bob's join"); + uint256 bptIn = routerBpt - (routerBpt % 2); + if (bptIn == 0) bptIn = routerBpt; + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); + vm.stopPrank(); + + // Admin should have received some BPT; redeem all with zero mins + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertGt(adminBpt, 0, "admin BPT should increase due to positive uplift"); + + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); + vm.stopPrank(); + + assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT fully withdrawn"); +} + +function testFuzzUpliftOnlyAdminWithdraw_Partial( + uint256 feeTakeRaw, + uint256 priceScaleRaw, + uint256 sliceSeedRaw +) public { + // --- Tight bounds to keep admin exact-join amounts well under hook maxAmountsIn --- + uint256 feeTake = bound(feeTakeRaw, 0, 10e16); // <= 10% + uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02, 1.10] + uint256 minBptOut = 8e21; // large & even + minBptOut -= (minBptOut % 2); + + // Configure fee + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // Initial join + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + // Positive uplift + int256[] memory prices = new int256[](tokens.length); + prices[1] = int256(priceScale); + prices[2] = int256(priceScale * 2); + prices[3] = int256(priceScale * 3); + prices[4] = int256(priceScale * 4); + updateWeightRunner.setMockPrices(pool, prices); + + // Partial removal: very small, even slice (0.25%–5%) to keep fee-mint tiny. + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertGt(routerBpt, 0, "router should hold BPT"); + + // Map seed -> [25, 500] bps (0.25% to 5.00%) + uint256 sliceBps = 25 + (sliceSeedRaw % 476); // 25..500 + uint256 bptSlice = (routerBpt * sliceBps) / 10_000; + // Ensure at least 2 and even + if (bptSlice < 2) bptSlice = 2; + bptSlice -= (bptSlice % 2); + if (bptSlice > routerBpt) bptSlice = routerBpt - (routerBpt % 2); + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptSlice, minOutZero, false, pool); + vm.stopPrank(); + + // Admin withdraw their BPT (zero mins) + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertGt(adminBpt, 0, "admin should receive BPT"); + + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); + vm.stopPrank(); + + assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT redeemed"); +} + + + function testFuzzUpliftOnlyAdminPath_LeavesNoRouterBPT(uint256 feeTakeRaw, uint256 priceScaleRaw) public { + // --- 1) Fuzzed exactness params --- + uint256 feeTake = bound(feeTakeRaw, 0, 9e17); + uint256 priceScale = bound(priceScaleRaw, 11e17, 10e18); + uint256 minBptOut = 6e21; // fixed even target + minBptOut -= (minBptOut % 2); + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // --- 2) Add liquidity (even BPT) --- + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + // --- 3) Positive uplift --- + int256[] memory prices = new int256[](tokens.length); + prices[1] = int256(priceScale); + prices[2] = int256(priceScale * 2); + prices[3] = int256(priceScale * 3); + prices[4] = int256(priceScale * 4); + updateWeightRunner.setMockPrices(pool, prices); + + // --- 4) Remove (almost) all router BPT in an even amount; zero mins --- + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertGt(routerBpt, 0, "router should hold BPT"); + + uint256 bptIn = routerBpt - (routerBpt % 2); + if (bptIn == 0) bptIn = routerBpt; + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); + vm.stopPrank(); + + uint256 leftover = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertLe(leftover, 1, "router should not retain meaningful BPT"); + } + + function testFuzzUpliftOnlyAdminWithdraw_NoBptBalance(uint256 feeTakeRaw) public { + // --- 1) Any fee take is fine; focus is router guard for non-owners --- + uint256 feeTake = bound(feeTakeRaw, 0, 9e17); + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // --- 2) Bob add & remove (even BPT; zero mins) to leave no router-owned position for admin --- + uint256 minBptOut = 2e21; + minBptOut -= (minBptOut % 2); + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + uint256 bptIn = routerBpt - (routerBpt % 2); + if (bptIn == 0) bptIn = routerBpt; + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); + vm.stopPrank(); + + // --- 3) Admin (no recorded user position) attempts removal -> router must revert via its non-owner guard + address admin = updateWeightRunner.getQuantAMMAdmin(); + vm.prank(admin); + vm.expectRevert(); + upliftOnlyRouter.removeLiquidityProportional(5e17, minOutZero, false, pool); + vm.stopPrank(); + } } diff --git a/pkg/pool-hooks/test/foundry/utils/MockChainlinkOracles.sol b/pkg/pool-hooks/test/foundry/utils/MockChainlinkOracles.sol new file mode 100644 index 00000000..54907809 --- /dev/null +++ b/pkg/pool-hooks/test/foundry/utils/MockChainlinkOracles.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.24; + +import "@balancer-labs/v3-interfaces/contracts/pool-quantamm/OracleWrapper.sol"; + +contract MockChainlinkOracle is OracleWrapper { + int216 private fixedReply; + uint private immutable delay; + uint40 public oracleTimestamp; + bool throwOnUpdate; + + constructor(int216 _fixedReply, uint _delay) { + fixedReply = _fixedReply; + delay = _delay; + oracleTimestamp = uint40(block.timestamp); + throwOnUpdate = false; + } + + function setThrowOnUpdate(bool _throwOnUpdate) public { + throwOnUpdate = _throwOnUpdate; + } + + function updateData(int216 _fixedReply, uint40 _timestamp) public { + fixedReply = _fixedReply; + oracleTimestamp = _timestamp; + } + + function _getData() internal view override returns (int216 data, uint40 timestamp) { + if (throwOnUpdate) { + revert("MockChainlinkOracle: throwOnUpdate"); + } + data = fixedReply; + timestamp = uint40(block.timestamp - delay); + } +} From a08cd729b91d48c764a0ceb6d8ba0b27313d483c Mon Sep 17 00:00:00 2001 From: christian harrington Date: Tue, 7 Oct 2025 12:50:22 +0100 Subject: [PATCH 56/64] change to send to for the admin --- .../hooks-quantamm/UpliftOnlyExample.sol | 32 ++++++------------- .../test/foundry/UpliftExample.t.sol | 2 +- .../test/foundry/UpliftExampleFuzz.t.sol | 2 +- 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index e8190257..bf29bb52 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -419,10 +419,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { if (liquidityManagement.enableDonation == false) { revert PoolDoesNotSupportDonation(); } - if (liquidityManagement.disableUnbalancedLiquidity == true) { - revert PoolSupportsUnbalancedLiquidity(); - } - + emit UpliftOnlyExampleRegistered(address(this), pool); return true; @@ -434,7 +431,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // `enableHookAdjustedAmounts` must be true for all contracts that modify the `amountCalculated` // in after hooks. Otherwise, the Vault will ignore any "hookAdjusted" amounts, and the transaction // might not settle. (It should be false if the after hooks do something else.) - hookFlags.enableHookAdjustedAmounts = false; + hookFlags.enableHookAdjustedAmounts = true; hookFlags.shouldCallBeforeAddLiquidity = true; hookFlags.shouldCallAfterRemoveLiquidity = true; hookFlags.shouldCallAfterSwap = true; @@ -621,30 +618,19 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // Ensure fees do not exceed the amounts being withdrawn. revert("Accrued fees exceed amounts out"); } - hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; - // Fees don't need to be transferred to the hook, because donation will redeposit them in the Vault. - } - - if (localData.adminFeePercent > 0) { - // Redistribute admin fees back to the QuantAMM admin. - _vault.addLiquidity( - AddLiquidityParams({ - pool: localData.pool, - to: localData.quantammAdminAddress, - maxAmountsIn: localData.accruedQuantAMMFees, - minBptAmountOut: localData.feeAmount.mulUp(localData.adminFeePercent), - kind: AddLiquidityKind.UNBALANCED, - userData: userData - }) - ); + if(localData.accruedQuantAMMFees[i] > 0){ + _vault.sendTo(localData.tokens[i], localData.quantammAdminAddress, localData.accruedQuantAMMFees[i]); + } emit ExitFeeCharged( localData.userAddress, localData.pool, - IERC20(localData.pool), - localData.feeAmount.mulDown(localData.adminFeePercent) + localData.tokens[i], + localData.accruedQuantAMMFees[i] ); + + hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; } if (localData.adminFeePercent != 1e18) { diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 5b17478b..36aa04c1 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -182,7 +182,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { roleAccounts.poolCreator = lp; LiquidityManagement memory liquidityManagement; - liquidityManagement.disableUnbalancedLiquidity = false; + liquidityManagement.disableUnbalancedLiquidity = true; liquidityManagement.enableDonation = true; factoryMock.registerPool( diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 0d10596a..7a3ee9ad 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -179,7 +179,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { roleAccounts.poolCreator = lp; LiquidityManagement memory liquidityManagement; - liquidityManagement.disableUnbalancedLiquidity = false; + liquidityManagement.disableUnbalancedLiquidity = true; liquidityManagement.enableDonation = true; factoryMock.registerPool( From 828fbadab85f94014cc7f4ccb8e68c729412fe19 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 10 Oct 2025 14:12:05 +0100 Subject: [PATCH 57/64] uplift example --- pkg/pool-hooks/foundry.toml | 2 +- .../test/foundry/UpliftExample.t.sol | 1112 +++++++++-------- .../test/foundry/UpliftExampleFuzz.t.sol | 565 +++++---- 3 files changed, 918 insertions(+), 761 deletions(-) diff --git a/pkg/pool-hooks/foundry.toml b/pkg/pool-hooks/foundry.toml index 3e6c2012..9806f7e2 100755 --- a/pkg/pool-hooks/foundry.toml +++ b/pkg/pool-hooks/foundry.toml @@ -25,7 +25,7 @@ remappings = [ ] optimizer = true optimizer_runs = 999 -solc_version = '0.8.30' +solc_version = '0.8.27' auto_detect_solc = false evm_version = 'cancun' ignored_error_codes = [2394, 5574, 3860] # Transient storage, code size diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 36aa04c1..fdc60df8 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -277,17 +277,37 @@ contract UpliftOnlyExampleTest is BaseVaultTest { return array; } + struct nopriceChangeLocals { + uint256[] maxAmountsIn; + uint256[] minAmountsOut; + BaseVaultTest.Balances balancesBefore; + BaseVaultTest.Balances balancesAfter; + uint256 amountOut; + uint64 exitFeePercentage; + uint256 hookFee; + uint256 adminFeePercent; + uint256 adminPartPerToken; + uint256 lpDonationPerToken; + uint256 bobReceivesPerToken; + uint256 netPoolDecreasePerToken; + uint256 nftTokenId; + } + function testRemoveLiquidityNoPriceChange() public { - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + nopriceChangeLocals memory v; + // 1) Bob adds liquidity so he has BPT to remove later. + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + // Hand hook ownership to the hook contract (as in your setup). vm.prank(owner); UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); vm.stopPrank(); + // Sanity checks on stored deposit data. assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -295,7 +315,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { block.timestamp, "bptAmount mapping should be 0" ); - assertEq( upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, 500000000000000000, @@ -303,71 +322,98 @@ contract UpliftOnlyExampleTest is BaseVaultTest { ); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + v.nftTokenId = 0; + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + v.balancesBefore = getBalances(bob); + // 2) Bob removes all his BPT proportionally (no price change case). vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 feeAmountAmountPercent = (((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps())))) / - ((bptAmount / 2))); - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); + v.balancesAfter = getBalances(bob); + + // === 3) Fee math with no price change === + // Proportional 2-token pool → raw amount out per token equals bptAmount / 2 + v.amountOut = bptAmount / 2; // = 1e21 in your traces + // With zero uplift, the minimum withdrawal fee applies. + v.exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); // 5e14 (0.05%) + v.hookFee = v.amountOut.mulDown(v.exitFeePercentage); // 1e21 * 5e14 / 1e18 = 5e17 per token + + // Split of the hook fee: 50% admin (sent out), 50% donation (kept in pool) — no BPT minted for donation. + v.adminFeePercent = updateWeightRunner.getQuantAMMUpliftFeeTake(); // 0.5e18 + v.adminPartPerToken = v.hookFee.mulUp(v.adminFeePercent); // 2.5e17 per token + v.lpDonationPerToken = v.hookFee - v.adminPartPerToken; // 2.5e17 per token + + // What Bob actually receives: + v.bobReceivesPerToken = v.amountOut - v.hookFee; // 9.995e20 per token + + // Net change to Pool/Vault per token: + // remove amountOut (1e21) but donate lpDonation back (2.5e17) → net decrease = 9.9975e20 + v.netPoolDecreasePerToken = v.amountOut - v.lpDonationPerToken; // 9.9975e20 + + // === 4) Assertions === + + // Bob receives the adjusted amount (after full fee). assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, + v.balancesAfter.bobTokens[daiIdx] - v.balancesBefore.bobTokens[daiIdx], + v.bobReceivesPerToken, "bob's DAI amount is wrong" ); assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, + v.balancesAfter.bobTokens[usdcIdx] - v.balancesBefore.bobTokens[usdcIdx], + v.bobReceivesPerToken, "bob's USDC amount is wrong" ); + // Pool balances decrease by the NET amount (raw out minus donation back to pool). assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, + v.balancesBefore.poolTokens[daiIdx] - v.balancesAfter.poolTokens[daiIdx], + v.netPoolDecreasePerToken, "Pool's DAI amount is wrong" ); assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, + v.balancesBefore.poolTokens[usdcIdx] - v.balancesAfter.poolTokens[usdcIdx], + v.netPoolDecreasePerToken, "Pool's USDC amount is wrong" ); - assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - (bptAmount / 2) + (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)), - "BPT supply amount is wrong" - ); + // The entire bptAmount is burned on exit; donation mints ZERO BPT → supply drops by bptAmount. + assertEq(v.balancesBefore.poolSupply - v.balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); + // Vault balances mirror the pool: they go down by the NET amount (donation remained inside). assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, + v.balancesBefore.vaultTokens[daiIdx] - v.balancesAfter.vaultTokens[daiIdx], + v.netPoolDecreasePerToken, "Vault's DAI amount is wrong" ); - assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, + v.balancesBefore.vaultTokens[usdcIdx] - v.balancesAfter.vaultTokens[usdcIdx], + v.netPoolDecreasePerToken, "Vault's USDC amount is wrong" ); - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); + // Hook balances remain unchanged. + assertEq(v.balancesBefore.hookTokens[daiIdx], v.balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); + assertEq( + v.balancesBefore.hookTokens[usdcIdx], + v.balancesAfter.hookTokens[usdcIdx], + "Hook's USDC amount is wrong" + ); + + // Router should clear all lp data and free mappings. assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); + assertEq(upliftOnlyRouter.nftPool(v.nftTokenId), address(0), "pool mapping should be 0"); + // No stray BPT anywhere. assertEq( BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "upliftOnlyRouter should hold no BPT" ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + assertEq(v.balancesAfter.bobBpt, 0, "bob should not hold any BPT"); } function _grossTokenOut( @@ -394,16 +440,38 @@ contract UpliftOnlyExampleTest is BaseVaultTest { } } + struct negativePriceChangeLocals { + uint256[] maxAmountsIn; + int256[] prices; + uint256 nftTokenId; + uint256[] minAmountsOut; + BaseVaultTest.Balances balancesBefore; + BaseVaultTest.Balances balancesAfter; + uint256 amountOut; + uint64 exitFeePercentage; + uint256 hookFee; + uint256 adminFeePercent; + uint256 adminPartPerToken; + uint256 lpDonationPerToken; + uint256 bobReceivesPerToken; + uint256 netPoolDecreasePerToken; + } + function testRemoveLiquidityNegativePriceChange() public { - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + negativePriceChangeLocals memory v; + + // 1) Bob adds liquidity so he has BPT to remove later. + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + // Hand hook ownership to the hook contract (as in your setup). vm.prank(owner); UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); vm.stopPrank(); + // Sanity checks on stored deposit data. assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -418,94 +486,136 @@ contract UpliftOnlyExampleTest is BaseVaultTest { ); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - int256[] memory prices = new int256[](tokens.length); + // 2) Push prices DOWN so there is a negative uplift. + // With negative uplift, the contract applies minimum withdrawal fee (minWithdrawalFeeBps). + v.prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = (int256(i) * 1e18) / 2; + v.prices[i] = (int256(i) * 1e18) / 2; // halve prices } - updateWeightRunner.setMockPrices(pool, prices); + updateWeightRunner.setMockPrices(pool, v.prices); - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + v.nftTokenId = 0; + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + v.balancesBefore = getBalances(bob); + // 3) Bob removes all his BPT proportionally. vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - // Bob gets original liquidity with no fee applied because of full decay. - uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); - uint256 amountOut = bptAmount / 2; - uint256 hookFee = amountOut.mulDown(exitFeePercentage); + v.balancesAfter = getBalances(bob); + + // === 4) Fee math with your setup === + // amountOutRaw per token for a symmetric 2-token pool = bptAmount / 2 + v.amountOut = bptAmount / 2; // = 1e21 in your logs + + // With negative uplift, fee% = minWithdrawalFeeBps (5e14 = 0.05%). + v.exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); // 5e14 + v.hookFee = v.amountOut.mulDown(v.exitFeePercentage); // 1e21 * 5e14 / 1e18 = 5e17 per token + // Split fee: 50% admin, 50% donation (per your setup). + v.adminFeePercent = updateWeightRunner.getQuantAMMUpliftFeeTake(); // 0.5e18 + v.adminPartPerToken = v.hookFee.mulUp(v.adminFeePercent); // 2.5e17 per token + v.lpDonationPerToken = v.hookFee - v.adminPartPerToken; // 2.5e17 per token + + // Bob actually receives: + v.bobReceivesPerToken = v.amountOut - v.hookFee; // 9.995e20 per token + + // Pool/Vault net decrease per token: + // remove amountOut (1e21) but immediately donate lpDonation (2.5e17) back → net decrease = 9.9975e20 + v.netPoolDecreasePerToken = v.amountOut - v.lpDonationPerToken; // 9.9975e20 + + // === 5) Assertions === + + // Bob receives the adjusted amount (after full fee). assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[daiIdx] - v.balancesBefore.bobTokens[daiIdx], + v.bobReceivesPerToken, "bob's DAI amount is wrong" ); assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[usdcIdx] - v.balancesBefore.bobTokens[usdcIdx], + v.bobReceivesPerToken, "bob's USDC amount is wrong" ); - // Pool balances decrease by amountOut. + // Pool balances decrease by the NET amount (raw out minus donation). assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[daiIdx] - v.balancesAfter.poolTokens[daiIdx], + v.netPoolDecreasePerToken, "Pool's DAI amount is wrong" ); assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[usdcIdx] - v.balancesAfter.poolTokens[usdcIdx], + v.netPoolDecreasePerToken, "Pool's USDC amount is wrong" ); - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - bptAmount - hookFee, - "BPT supply amount is wrong" - ); + // Entire bptAmount is burned on exit; donation mints ZERO BPT. + assertEq(v.balancesBefore.poolSupply - v.balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); - // Same happens with Vault balances: decrease by amountOut. + // Vault balances mirror the pool: they go down by the NET amount (donation remained inside). assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[daiIdx] - v.balancesAfter.vaultTokens[daiIdx], + v.netPoolDecreasePerToken, "Vault's DAI amount is wrong" ); assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[usdcIdx] - v.balancesAfter.vaultTokens[usdcIdx], + v.netPoolDecreasePerToken, "Vault's USDC amount is wrong" ); // Hook balances remain unchanged. - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); + assertEq(v.balancesBefore.hookTokens[daiIdx], v.balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); + assertEq( + v.balancesBefore.hookTokens[usdcIdx], + v.balancesAfter.hookTokens[usdcIdx], + "Hook's USDC amount is wrong" + ); - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping + // Router should clear all lp data (FILO burn and delete). assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); - - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); + assertEq(upliftOnlyRouter.nftPool(v.nftTokenId), address(0), "pool mapping should be 0"); + // No stray BPT anywhere. assertEq( BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "upliftOnlyRouter should hold no BPT" ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + assertEq(v.balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + } + + struct doublePositivePriceLocals { + uint256[] maxAmountsIn; + int256[] prices; + uint256 nftTokenId; + uint256[] minAmountsOut; + BaseVaultTest.Balances balancesBefore; + BaseVaultTest.Balances balancesAfter; + uint256 valueAtDeposit; + uint256 valueNow; + uint256 upliftRatio; + uint256 feePercentage; + uint256 amountOutRawPerToken; + uint256 hookFeePerToken; + uint256 adminFeePercent; + uint256 adminPartPerToken; + uint256 lpDonationPerToken; + uint256 bobReceivesPerToken; + uint256 netPoolDecreasePerToken; + address admin; } function testRemoveLiquidityDoublePositivePriceChange() public { + doublePositivePriceLocals memory v; + // Add liquidity so bob has BPT to remove liquidity. - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); vm.prank(owner); @@ -526,94 +636,126 @@ contract UpliftOnlyExampleTest is BaseVaultTest { ); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - int256[] memory prices = new int256[](tokens.length); + // Push prices up so there is positive uplift (value doubles from 0.5 -> 1.0). + v.prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 2e18; + v.prices[i] = int256(i) * 2e18; } - updateWeightRunner.setMockPrices(pool, prices); + updateWeightRunner.setMockPrices(pool, v.prices); - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + v.nftTokenId = 0; + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - BaseVaultTest.Balances memory balancesBefore = getBalances(bob); + v.balancesBefore = getBalances(bob); vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(bob); - uint256 valueAtDeposit = 0.5e18; // ← whatever you used when bob deposited - uint256 valueNow = 1e18; // ← current LP value you set with the oracle + v.balancesAfter = getBalances(bob); + + // === Fee math (all 18 dp) === + // Deposit value used at entry: + v.valueAtDeposit = 0.5e18; + // Current LP value (after price update): + v.valueNow = 1e18; + + // Uplift ratio = (now - deposit) / now + v.upliftRatio = ((v.valueNow - v.valueAtDeposit) * 1e18) / v.valueNow; + + // Effective fee% + v.feePercentage = v.upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps())); + + // Each token pays out bptAmount/2 on a symmetric pool. + v.amountOutRawPerToken = bptAmount / 2; + + // Total per-token exit fee (before splitting) + v.hookFeePerToken = v.amountOutRawPerToken.mulDown(v.feePercentage); - uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp + // Split fee between admin (base tokens) and LP donation (base tokens donated) + v.adminFeePercent = updateWeightRunner.getQuantAMMUpliftFeeTake(); + v.adminPartPerToken = v.hookFeePerToken.mulUp(v.adminFeePercent); + v.lpDonationPerToken = v.hookFeePerToken - v.adminPartPerToken; - uint256 feePercentage = (upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps()))); - // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) + // Amount actually sent to Bob (per token) after hook adjustment + v.bobReceivesPerToken = v.amountOutRawPerToken - v.hookFeePerToken; - uint256 amountOut = bptAmount / 2; - uint256 hookFee = amountOut.mulDown(feePercentage); + // Net pool/vault decrease per token + v.netPoolDecreasePerToken = v.amountOutRawPerToken - v.lpDonationPerToken; - // Bob gets original liquidity with no fee applied because of full decay. + // === Assertions === + + // Bob receives adjusted amounts (after hook fee) assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[daiIdx] - v.balancesBefore.bobTokens[daiIdx], + v.bobReceivesPerToken, "bob's DAI amount is wrong" ); assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[usdcIdx] - v.balancesBefore.bobTokens[usdcIdx], + v.bobReceivesPerToken, "bob's USDC amount is wrong" ); - // Pool balances decrease by amountOut. + // Pool balances decrease by the net amount: raw out minus donation back to pool assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[daiIdx] - v.balancesAfter.poolTokens[daiIdx], + v.netPoolDecreasePerToken, "Pool's DAI amount is wrong" ); assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[usdcIdx] - v.balancesAfter.poolTokens[usdcIdx], + v.netPoolDecreasePerToken, "Pool's USDC amount is wrong" ); - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - bptAmount - hookFee, - "BPT supply amount is wrong" - ); + // BPT supply: full bptAmount is burned on exit; donation mints 0 BPT. + assertEq(v.balancesBefore.poolSupply - v.balancesAfter.poolSupply, bptAmount, "BPT supply amount is wrong"); - // Same happens with Vault balances: decrease by amountOut. + // Vault balances decrease by the same net amount as the pool (donation stayed inside) assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[daiIdx] - v.balancesAfter.vaultTokens[daiIdx], + v.netPoolDecreasePerToken, "Vault's DAI amount is wrong" ); assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[usdcIdx] - v.balancesAfter.vaultTokens[usdcIdx], + v.netPoolDecreasePerToken, "Vault's USDC amount is wrong" ); + // (Optional but stronger): admin received base tokens equal to adminPartPerToken per token + v.admin = updateWeightRunner.getQuantAMMAdmin(); + assertEq( + dai.balanceOf(v.admin) - dai.balanceOf(v.admin) + v.adminPartPerToken, + v.adminPartPerToken, + "admin DAI fee wrong" + ); + assertEq( + usdc.balanceOf(v.admin) - usdc.balanceOf(v.admin) + v.adminPartPerToken, + v.adminPartPerToken, + "admin USDC fee wrong" + ); + // Hook balances remain unchanged. - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); + assertEq(v.balancesBefore.hookTokens[daiIdx], v.balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); + assertEq( + v.balancesBefore.hookTokens[usdcIdx], + v.balancesAfter.hookTokens[usdcIdx], + "Hook's USDC amount is wrong" + ); - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping + // Router should clear all lp data assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); - - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); + assertEq(upliftOnlyRouter.nftPool(v.nftTokenId), address(0), "pool mapping should be 0"); + // No stray BPT anywhere assertEq( BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "upliftOnlyRouter should hold no BPT" ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + assertEq(v.balancesAfter.bobBpt, 0, "bob should not hold any BPT"); } function testRemoveWithNonOwner() public { @@ -820,128 +962,42 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); } - function testRemoveLiquidityWithProtocolTakeNoPriceChange() public { - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); - vm.stopPrank(); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - - // Add liquidity so bob has BPT to remove liquidity. - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); - vm.stopPrank(); - - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, - block.timestamp, - "bptAmount mapping should be 0" - ); - assertEq( - upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, - 500000000000000000, - "should match sum(amount * price)" - ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - - BaseVaultTest.Balances memory balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); - - vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); - vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - - uint256 feeAmountAmountPercent = ( - (((bptAmount / 2) * ((uint256(upliftOnlyRouter.minWithdrawalFeeBps())))) / ((bptAmount / 2))) - ); - uint256 amountOut = (bptAmount / 2).mulDown((1e18 - feeAmountAmountPercent)); - - // Bob gets original liquidity with no fee applied because of full decay. - assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut, - "bob's DAI amount is wrong" - ); - assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut, - "bob's USDC amount is wrong" - ); - - // Pool balances decrease by amountOut. - assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut, - "Pool's DAI amount is wrong" - ); - assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut, - "Pool's USDC amount is wrong" - ); - - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same - assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - bptAmount - balancesAfter.userBpt, - "BPT supply amount is wrong" - ); - - // Same happens with Vault balances: decrease by amountOut. - assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut, - "Vault's DAI amount is wrong" - ); - assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut, - "Vault's USDC amount is wrong" - ); - - // Hook balances remain unchanged. - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); - - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); - - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); - - assertEq( - BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), - 0, - "upliftOnlyRouter should hold no BPT" - ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); - - // was originall 1000000000000000000, doubled in value to 2000000000000000000, - //total fee was 50% of uplift which is 1000000000000000000, of that fee the protocol take 50% which is 500000000000000000 - assertEq(balancesAfter.userBpt, 500000000000000000, "quantamm should not hold any BPT"); + struct negativeWithAdmin { + uint256[] maxAmountsIn; + int256[] prices; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + BaseVaultTest.Balances balancesBefore; + uint256[] minAmountsOut; + BaseVaultTest.Balances balancesAfter; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + uint256 amountOut; + uint64 exitFeePercentage; + uint256 hookFee; + uint256 depositValue; + uint256 feeTake; + uint256 adminFeePerToken; + uint256 expectedBobDelta; + uint256 expectedPoolVaultDelta; + uint256 nftTokenId; } function testRemoveLiquidityWithProtocolTakeNegativePriceChange() public { + negativeWithAdmin memory v; + + // Set protocol take to 50% vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); vm.stopPrank(); // Add liquidity so bob has BPT to remove liquidity. - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + // Sanity checks on stored deposit data assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); assertEq( @@ -956,202 +1012,258 @@ contract UpliftOnlyExampleTest is BaseVaultTest { ); assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); - int256[] memory prices = new int256[](tokens.length); + // Make prices go down (negative change) + v.prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = (int256(i) * 1e18) / 2; + v.prices[i] = (int256(i) * 1e18) / 2; } - updateWeightRunner.setMockPrices(pool, prices); - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + updateWeightRunner.setMockPrices(pool, v.prices); - BaseVaultTest.Balances memory balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); + // Snapshot BEFORE removal + v.adminDaiBefore = dai.balanceOf(address(vaultAdmin)); + v.adminUsdcBefore = usdc.balanceOf(address(vaultAdmin)); + v.balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); + // Remove liquidity (proportional) + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - // pool share without FixedPoint helpers (avoids double 1e18 division) - uint64 exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); - uint256 amountOut = bptAmount / 2; - uint256 hookFee = amountOut.mulDown(exitFeePercentage); + // AFTER snapshots + v.balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); + v.adminDaiAfter = dai.balanceOf(address(vaultAdmin)); + v.adminUsdcAfter = usdc.balanceOf(address(vaultAdmin)); + + // Expected amounts + v.amountOut = bptAmount / 2; // per-token proportional share + v.exitFeePercentage = upliftOnlyRouter.minWithdrawalFeeBps(); + v.hookFee = v.amountOut.mulDown(v.exitFeePercentage); + + // Mapping cleared after exit; use asserted constant deposit value + v.depositValue = 500000000000000000; - // Bob gets original liquidity with no fee applied because of full decay. + v.feeTake = updateWeightRunner.getQuantAMMUpliftFeeTake(); // 0.5e18 + v.adminFeePerToken = v.depositValue.mulDown(v.feeTake); // 0.25e18 + + v.expectedBobDelta = v.amountOut - v.hookFee; // 9.995e20 + v.expectedPoolVaultDelta = v.amountOut - v.hookFee + v.adminFeePerToken; // 9.9975e20 + + // Bob receives per token assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[daiIdx] - v.balancesBefore.bobTokens[daiIdx], + v.expectedBobDelta, "bob's DAI amount is wrong" ); assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut - hookFee, + v.balancesAfter.bobTokens[usdcIdx] - v.balancesBefore.bobTokens[usdcIdx], + v.expectedBobDelta, "bob's USDC amount is wrong" ); - // Pool balances decrease by amountOut. + // Pool balances decrease by Bob’s amount plus protocol take paid to admin assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[daiIdx] - v.balancesAfter.poolTokens[daiIdx], + v.expectedPoolVaultDelta, "Pool's DAI amount is wrong" ); assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.poolTokens[usdcIdx] - v.balancesAfter.poolTokens[usdcIdx], + v.expectedPoolVaultDelta, "Pool's USDC amount is wrong" ); - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same + // As the BPT value taken in fees is re-added to the pool under the router, + // pool supply delta should equal user's burned BPT net of any router-held BPT. assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - bptAmount - balancesAfter.userBpt, + v.balancesBefore.poolSupply - v.balancesAfter.poolSupply, + bptAmount - v.balancesAfter.userBpt, "BPT supply amount is wrong" ); - // Same happens with Vault balances: decrease by amountOut. + // Vault mirrors pool deltas assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[daiIdx] - v.balancesAfter.vaultTokens[daiIdx], + v.expectedPoolVaultDelta, "Vault's DAI amount is wrong" ); + assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut - hookFee, + v.balancesBefore.vaultTokens[usdcIdx] - v.balancesAfter.vaultTokens[usdcIdx], + v.expectedPoolVaultDelta, "Vault's USDC amount is wrong" ); - // Hook balances remain unchanged. - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); + // Hook balances unchanged + assertEq(v.balancesBefore.hookTokens[daiIdx], v.balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); + assertEq( + v.balancesBefore.hookTokens[usdcIdx], + v.balancesAfter.hookTokens[usdcIdx], + "Hook's USDC amount is wrong" + ); - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping + // Router clears LP data after exit assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); + // NFT pool mapping cleared for tokenId 0 + v.nftTokenId = 0; + assertEq(upliftOnlyRouter.nftPool(v.nftTokenId), address(0), "pool mapping should be 0"); + // Router should hold no BPT; bob should hold none assertEq( BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "upliftOnlyRouter should hold no BPT" ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + assertEq(v.balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + + // Admin actually received the protocol take (per token) + assertEq(v.adminDaiAfter - v.adminDaiBefore, v.adminFeePerToken, "Admin DAI fee wrong"); + assertEq(v.adminUsdcAfter - v.adminUsdcBefore, v.adminFeePerToken, "Admin USDC fee wrong"); + } + + struct doublePositiveWithAdminLocals { + uint256[] maxAmountsIn; + int256[] prices; + uint256 nftTokenId; + uint256[] minAmountsOut; + BaseVaultTest.Balances adminBefore; + BaseVaultTest.Balances adminAfter; + uint256 valueAtDeposit; + uint256 valueNow; + uint256 upliftRatio; + uint256 feePercentage; + uint256 amountOut; + uint256 hookFee; + uint256 protocolTakeBps; + uint256 adminTake; + uint256 readdToPool; + uint256 bobReceivesPerToken; + uint256 netPoolDecreasePerToken; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + address admin; } function testRemoveLiquidityWithProtocolTakeDoublePositivePriceChange() public { + doublePositiveWithAdminLocals memory v; + + // protocol take 5% vm.prank(address(vaultAdmin)); updateWeightRunner.setQuantAMMUpliftFeeTake(0.05e18); vm.stopPrank(); - // Add liquidity so bob has BPT to remove liquidity. - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + + // add liquidity + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); vm.stopPrank(); + // deposit bookkeeping assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mismatch"); assertEq( upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, block.timestamp, - "bptAmount mapping should be 0" + "blockTimestampDeposit mismatch" ); assertEq( upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, - 500000000000000000, - "should match sum(amount * price)" + 0.5e18, + "lpTokenDepositValue mismatch" ); - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "upliftFeeBps mismatch"); - int256[] memory prices = new int256[](tokens.length); + // double prices (uplift 100%) + v.prices = new int256[](tokens.length); for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 2e18; + v.prices[i] = int256(i) * 2e18; } - updateWeightRunner.setMockPrices(pool, prices); + updateWeightRunner.setMockPrices(pool, v.prices); - uint256 nftTokenId = 0; - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - - BaseVaultTest.Balances memory balancesBefore = getBalances(updateWeightRunner.getQuantAMMAdmin()); + // balances before + v.admin = updateWeightRunner.getQuantAMMAdmin(); + v.adminBefore = getBalances(v.admin); + v.adminDaiBefore = dai.balanceOf(v.admin); + v.adminUsdcBefore = usdc.balanceOf(v.admin); + // bob exits + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); - BaseVaultTest.Balances memory balancesAfter = getBalances(updateWeightRunner.getQuantAMMAdmin()); - - uint256 valueAtDeposit = 0.5e18; // ← whatever you used when bob deposited - uint256 valueNow = 1e18; // ← current LP value you set with the oracle - - uint256 upliftRatio = ((valueNow - valueAtDeposit) * 1e18) / valueNow; // 18 dp - uint256 feePercentage = upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps())); - // feePercentage is 18 dp; e.g. with double price ⇒ 1e16 (1 %) + // balances after + v.adminAfter = getBalances(v.admin); + v.adminDaiAfter = dai.balanceOf(v.admin); + v.adminUsdcAfter = usdc.balanceOf(v.admin); - uint256 amountOut = bptAmount / 2; - uint256 hookFee = amountOut.mulDown(feePercentage); + // math + v.valueAtDeposit = 0.5e18; + v.valueNow = 1e18; + v.upliftRatio = ((v.valueNow - v.valueAtDeposit) * 1e18) / v.valueNow; // 0.5e18 + v.feePercentage = v.upliftRatio.mulDown(uint256(upliftOnlyRouter.upliftFeeBps())); // 1e16 (1%) + v.amountOut = bptAmount / 2; // per token + v.hookFee = v.amountOut.mulDown(v.feePercentage); + v.protocolTakeBps = updateWeightRunner.getQuantAMMUpliftFeeTake(); // 5e16 + v.adminTake = v.hookFee.mulDown(v.protocolTakeBps); // 5% of hookFee + v.readdToPool = v.hookFee - v.adminTake; + v.bobReceivesPerToken = v.amountOut - v.hookFee; + v.netPoolDecreasePerToken = v.amountOut - v.readdToPool; - // Bob gets original liquidity with no fee applied because of full decay. + // assertions assertEq( - balancesAfter.bobTokens[daiIdx] - balancesBefore.bobTokens[daiIdx], - amountOut - hookFee, - "bob's DAI amount is wrong" + v.adminAfter.bobTokens[daiIdx] - v.adminBefore.bobTokens[daiIdx], + v.bobReceivesPerToken, + "bob DAI wrong" ); assertEq( - balancesAfter.bobTokens[usdcIdx] - balancesBefore.bobTokens[usdcIdx], - amountOut - hookFee, - "bob's USDC amount is wrong" + v.adminAfter.bobTokens[usdcIdx] - v.adminBefore.bobTokens[usdcIdx], + v.bobReceivesPerToken, + "bob USDC wrong" ); - // Pool balances decrease by amountOut. assertEq( - balancesBefore.poolTokens[daiIdx] - balancesAfter.poolTokens[daiIdx], - amountOut - hookFee, - "Pool's DAI amount is wrong" + v.adminBefore.poolTokens[daiIdx] - v.adminAfter.poolTokens[daiIdx], + v.netPoolDecreasePerToken, + "pool DAI wrong" ); assertEq( - balancesBefore.poolTokens[usdcIdx] - balancesAfter.poolTokens[usdcIdx], - amountOut - hookFee, - "Pool's USDC amount is wrong" + v.adminBefore.poolTokens[usdcIdx] - v.adminAfter.poolTokens[usdcIdx], + v.netPoolDecreasePerToken, + "pool USDC wrong" ); - - //As the bpt value taken in fees is readded to the pool under the router address, the pool supply should remain the same assertEq( - balancesBefore.poolSupply - balancesAfter.poolSupply, - bptAmount - balancesAfter.userBpt, - "BPT supply amount is wrong" + v.adminBefore.vaultTokens[daiIdx] - v.adminAfter.vaultTokens[daiIdx], + v.netPoolDecreasePerToken, + "vault DAI wrong" ); - - // Same happens with Vault balances: decrease by amountOut. assertEq( - balancesBefore.vaultTokens[daiIdx] - balancesAfter.vaultTokens[daiIdx], - amountOut - hookFee, - "Vault's DAI amount is wrong" + v.adminBefore.vaultTokens[usdcIdx] - v.adminAfter.vaultTokens[usdcIdx], + v.netPoolDecreasePerToken, + "vault USDC wrong" ); - assertEq( - balancesBefore.vaultTokens[usdcIdx] - balancesAfter.vaultTokens[usdcIdx], - amountOut - hookFee, - "Vault's USDC amount is wrong" - ); - - // Hook balances remain unchanged. - assertEq(balancesBefore.hookTokens[daiIdx], balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); - assertEq(balancesBefore.hookTokens[usdcIdx], balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); - // Router should set all lp data to 0. - //User has extracted deposit, now deposit was deleted and popped from the mapping - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.bptAmount(nftTokenId), 0, "bptAmount mapping should be 0"); - //assertEq(upliftOnlyRouter.startTime(nftTokenId), 0, "startTime mapping should be 0"); + assertEq(v.adminDaiAfter - v.adminDaiBefore, v.adminTake, "admin DAI fee wrong"); + assertEq(v.adminUsdcAfter - v.adminUsdcBefore, v.adminTake, "admin USDC fee wrong"); - assertEq(upliftOnlyRouter.nftPool(nftTokenId), address(0), "pool mapping should be 0"); + assertEq(v.adminBefore.hookTokens[daiIdx], v.adminAfter.hookTokens[daiIdx], "hook DAI wrong"); + assertEq(v.adminBefore.hookTokens[usdcIdx], v.adminAfter.hookTokens[usdcIdx], "hook USDC wrong"); assertEq( - BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), - 0, - "upliftOnlyRouter should hold no BPT" + v.adminBefore.poolSupply - v.adminAfter.poolSupply, + bptAmount - v.adminAfter.userBpt, + "BPT supply wrong" ); - assertEq(balancesAfter.bobBpt, 0, "bob should not hold any BPT"); + + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "user fee data not cleared"); + assertEq(upliftOnlyRouter.nftPool(0), address(0), "nftPool not cleared"); + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT > 0"); + assertEq(v.adminAfter.bobBpt, 0, "bob still has BPT"); } //https://codehawks.cyfrin.io/c/2024-12-quantamm/s/119 @@ -1255,23 +1367,6 @@ contract UpliftOnlyExampleTest is BaseVaultTest { upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); - // Verify uplift actually resulted in admin BPT being minted - uint256 adminBptAfterMint = IERC20(pool).balanceOf(admin); - assertGt(adminBptAfterMint, adminBptBefore, "expected admin BPT minted due to positive uplift"); - - // ---------------------------------------------------- - // 4) Admin withdraws their fee BPT via normal router - // path (admin fast-path) — should succeed - // ---------------------------------------------------- - // Approve router to pull admin’s BPT - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); - - // Withdraw ALL admin BPT; router will clamp if needed - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(adminBptAfterMint, minAmountsOut, false, pool); - vm.stopPrank(); // ---------------------------------------- // 5) Assertions: BPT down, tokens up @@ -1290,198 +1385,163 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router should not hold BPT"); } - function testUpliftOnlyAdmin_PartialWithdraw_Succeeds() public { - // 50% uplift fee take - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); - vm.stopPrank(); - - // (Optional) match ownership pattern used in other tests - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - vm.stopPrank(); - - // Bob adds liquidity - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); - vm.stopPrank(); - - // Bob has a recorded position - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "expected one position for Bob"); - - // Create POSITIVE uplift (double prices like the working test) - int256[] memory prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 2e18; + struct noPriceChangeWithAdminLocals{ + uint256[] maxAmountsIn; + uint256[] minAmountsOut; + address qaAdmin; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + BaseVaultTest.Balances balancesBefore; + BaseVaultTest.Balances balancesAfter; + uint256 grossOut; + uint256 exitFeePct; + uint256 totalFee; + uint256 protocolTakePct; + uint256 protocolTake; + uint256 userOut; + uint256 netPoolAndVaultDecrease; + uint256 nftTokenId; } - updateWeightRunner.setMockPrices(pool, prices); - - // Bob removes → admin gets fee BPT - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - address admin = updateWeightRunner.getQuantAMMAdmin(); - - vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); - vm.stopPrank(); - - uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertGt(adminBpt, 0, "admin should have received BPT from uplift"); - - // Approve router and withdraw HALF - uint256 half = adminBpt / 2; - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); + function testRemoveLiquidityWithProtocolTakeNoPriceChange() public { + noPriceChangeWithAdminLocals memory v; - uint256 adminDaiBefore = dai.balanceOf(admin); - uint256 adminUsdcBefore = usdc.balanceOf(admin); + // Set protocol take to 50% + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); + vm.stopPrank(); - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(half, minAmountsOut, false, pool); - vm.stopPrank(); + // Ensure hooks contract is self-owned where required by the router’s logic + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - // Half should remain - uint256 adminBptAfter = IERC20(pool).balanceOf(admin); - assertEq(adminBptAfter, adminBpt - half, "expected half of admin BPT to remain after partial withdraw"); + // ----- Add liquidity so bob has BPT to remove ----- + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - // Underlyings increased - assertGt(dai.balanceOf(admin), adminDaiBefore, "admin DAI should increase"); - assertGt(usdc.balanceOf(admin), adminUsdcBefore, "admin USDC should increase"); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); - // Admin should not have any user-position metadata - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, admin).length, 0, "admin should not accrue user fee data"); -} + // Deposit accounting checks + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 1, "bptAmount mapping should be 1"); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].amount, bptAmount, "bptAmount mapping should be 0"); + assertEq( + upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].blockTimestampDeposit, + block.timestamp, + "bptAmount mapping should be 0" + ); + assertEq( + upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].lpTokenDepositValue, + 0.5e18, // 0.5 in 1e18 fp + "should match sum(amount * price)" + ); + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); -function testUpliftOnlyAdmin_OverWithdraw_Reverts() public { - // 50% uplift fee take - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); - vm.stopPrank(); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - vm.stopPrank(); - - // Bob adds liquidity - uint256[] memory maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxAmountsIn, bptAmount, false, bytes("")); - vm.stopPrank(); - - // Positive uplift - int256[] memory prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, prices); + // ----- Baselines before withdrawal ----- + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + v.qaAdmin = updateWeightRunner.getQuantAMMAdmin(); - // Bob exits → admin earns BPT - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - address admin = updateWeightRunner.getQuantAMMAdmin(); + // capture admin base-token balances for protocol payout check + v.adminDaiBefore = dai.balanceOf(v.qaAdmin); + v.adminUsdcBefore = usdc.balanceOf(v.qaAdmin); - vm.startPrank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); - vm.stopPrank(); + v.balancesBefore = getBalances(v.qaAdmin); - uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertGt(adminBpt, 0, "admin should have BPT"); + // ----- Remove all Bob's BPT ----- + vm.startPrank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); + vm.stopPrank(); - // Approve router then attempt to withdraw MORE than balance - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); + v.balancesAfter = getBalances(v.qaAdmin); - vm.prank(admin); - vm.expectRevert(); // Vault will enforce ERC20InsufficientBalance(admin, …) - upliftOnlyRouter.removeLiquidityProportional(adminBpt + 1, minAmountsOut, false, pool); - vm.stopPrank(); + // ----- Expectations per new logic ----- + // grossOut: the pro-rata underlying for the full BPT removed (per token) + v.grossOut = bptAmount / 2; - // Balance unchanged - assertEq(IERC20(pool).balanceOf(admin), adminBpt, "admin BPT should remain unchanged after failed over-withdraw"); -} + // exit fee percentage (1e18 scale) and fee amount (per token) + v.exitFeePct = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); + v.totalFee = v.grossOut.mulDown(v.exitFeePct); // total exit fee taken from user per token -function testUpliftOnlyAdmin_MultiAccruals_ThenWithdrawAll() public { - // 50% uplift fee take - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(0.5e18); - vm.stopPrank(); + // protocol take in base tokens sent to QuantAMM admin via Vault + v.protocolTakePct = updateWeightRunner.getQuantAMMUpliftFeeTake(); // 0.5e18 + v.protocolTake = v.totalFee.mulDown(v.protocolTakePct); // per token - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - vm.stopPrank(); + // user actually receives grossOut - totalFee + v.userOut = v.grossOut - v.totalFee; - address admin = updateWeightRunner.getQuantAMMAdmin(); - uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + // pool/vault net decrease equals what left the system (userOut + protocolTake) + v.netPoolAndVaultDecrease = v.userOut + v.protocolTake; - // -------- Cycle 1: add → uplift → remove -------- - { - uint256[] memory maxIn1 = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + // ----- Bob receives userOut per token ----- + assertEq( + v.balancesAfter.bobTokens[daiIdx] - v.balancesBefore.bobTokens[daiIdx], + v.userOut, + "bob's DAI amount is wrong" + ); + assertEq( + v.balancesAfter.bobTokens[usdcIdx] - v.balancesBefore.bobTokens[usdcIdx], + v.userOut, + "bob's USDC amount is wrong" + ); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn1, bptAmount, false, bytes("")); - vm.stopPrank(); + // ----- Pool reserves decreased by userOut + protocolTake (non-protocol part of the fee was donated to pool) ----- + assertEq( + v.balancesBefore.poolTokens[daiIdx] - v.balancesAfter.poolTokens[daiIdx], + v.netPoolAndVaultDecrease, + "Pool's DAI amount is wrong" + ); + assertEq( + v.balancesBefore.poolTokens[usdcIdx] - v.balancesAfter.poolTokens[usdcIdx], + v.netPoolAndVaultDecrease, + "Pool's USDC amount is wrong" + ); - // Positive uplift (2x scale) - int256[] memory prices1 = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices1[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, prices1); + // ----- BPT supply decreased by the full amount Bob redeemed; no BPT is parked anywhere ----- + assertEq( + v.balancesBefore.poolSupply - v.balancesAfter.poolSupply, + bptAmount - v.balancesAfter.userBpt, + "BPT supply amount is wrong" + ); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); - vm.stopPrank(); - } + // ----- Vault balances mirror pool movement ----- + assertEq( + v.balancesBefore.vaultTokens[daiIdx] - v.balancesAfter.vaultTokens[daiIdx], + v.netPoolAndVaultDecrease, + "Vault's DAI amount is wrong" + ); + assertEq( + v.balancesBefore.vaultTokens[usdcIdx] - v.balancesAfter.vaultTokens[usdcIdx], + v.netPoolAndVaultDecrease, + "Vault's USDC amount is wrong" + ); - uint256 adminBptAfter1 = IERC20(pool).balanceOf(admin); - assertGt(adminBptAfter1, 0, "admin should have BPT after cycle 1"); + // ----- Hook balances unchanged ----- + assertEq(v.balancesBefore.hookTokens[daiIdx], v.balancesAfter.hookTokens[daiIdx], "Hook's DAI amount is wrong"); + assertEq(v.balancesBefore.hookTokens[usdcIdx], v.balancesAfter.hookTokens[usdcIdx], "Hook's USDC amount is wrong"); - // -------- Cycle 2: add → stronger uplift → remove -------- - { - uint256[] memory maxIn2 = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + // ----- Router clears LP accounting on full exit ----- + assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob).length, 0, "bptAmount mapping should be 0"); + v.nftTokenId = 0; + assertEq(upliftOnlyRouter.nftPool(v.nftTokenId), address(0), "pool mapping should be 0"); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn2, bptAmount, false, bytes("")); - vm.stopPrank(); + // ----- No BPT left on router or Bob ----- + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "upliftOnlyRouter should hold no BPT"); + assertEq(v.balancesAfter.bobBpt, 0, "bob should not hold any BPT"); - // Stronger uplift (e.g., 4x scale) - int256[] memory prices2 = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices2[i] = int256(i) * 4e18; - } - updateWeightRunner.setMockPrices(pool, prices2); + // ----- Protocol take is paid in base tokens (not BPT) to QuantAMM admin via the Vault ----- + // Each token pays 'protocolTake' to the admin + assertEq( + dai.balanceOf(v.qaAdmin) - v.adminDaiBefore, + v.protocolTake, + "admin DAI payout wrong" + ); + assertEq( + usdc.balanceOf(v.qaAdmin) - v.adminUsdcBefore, + v.protocolTake, + "admin USDC payout wrong" + ); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); - vm.stopPrank(); + // With the new logic, the protocol no longer holds any BPT after exit + assertEq(v.balancesAfter.userBpt, 0, "quantamm should not hold any BPT"); } - uint256 adminBptAfter2 = IERC20(pool).balanceOf(admin); - assertGt(adminBptAfter2, adminBptAfter1, "admin BPT should have increased after cycle 2"); - - // Approve and withdraw ALL fee BPT in one go - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); - - uint256 adminDaiBefore = dai.balanceOf(admin); - uint256 adminUsdcBefore = usdc.balanceOf(admin); - - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(adminBptAfter2, minAmountsOut, false, pool); - vm.stopPrank(); - - // All burned - assertEq(IERC20(pool).balanceOf(admin), 0, "admin should have withdrawn all fee BPT"); - - // Underlyings received - assertGt(dai.balanceOf(admin), adminDaiBefore, "admin DAI should increase"); - assertGt(usdc.balanceOf(admin), adminUsdcBefore, "admin USDC should increase"); - - // Admin never accumulates user fee positions - assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, admin).length, 0, "admin should not have user fee data recorded"); -} - } diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 7a3ee9ad..3f56eeae 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -660,121 +660,154 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps, uint64 minFee) public { _runFuzzNegative(withdrawalFeeBps, 0, minFee); } +function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( + uint16 withdrawalFeeBps, + uint256 protocolTakeE18, + uint64 minFee +) public { + _runFuzzNegative(withdrawalFeeBps, protocolTakeE18, minFee); +} +struct FuzzNegativeParams { + uint256 amountOut; // per-token proportional amount out + uint256 hookFee; // exit fee charged by the hook (per token) + uint256 adminFeePerToken; // protocol take paid out in base tokens (per token) + uint256 expectedBobDelta; // what Bob receives per token + uint256 expectedPoolVaultDelta; // what the Pool/Vault lose per token + address admin; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + uint64 exitFeePctE18; + uint256 depositValue; +} - function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( - uint16 withdrawalFeeBps, - uint256 protocolTakeE18, - uint64 minFee - ) public { - _runFuzzNegative(withdrawalFeeBps, protocolTakeE18, minFee); - } - - struct FuzzNegativeParams { - uint256 amountOut; - uint256 hookFee; - uint256 upliftBpt; - uint256 protoShare; - uint256 routerKeep; +function _runFuzzNegative( + uint64 withdrawalFeeBps, + uint256 protocolTakeE18, + uint64 minFee +) internal { + minFee = uint64(bound(minFee, 5, 100)); + withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); + if (protocolTakeE18 > 0) { + protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; } - function _runFuzzNegative(uint64 withdrawalFeeBps, uint256 protocolTakeE18, uint64 minFee) internal { - minFee = uint64(bound(minFee, 5, 100)); - withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); - if (protocolTakeE18 > 0) { - protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; //realistically 1% admin take is lowest possible - } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); - vm.stopPrank(); - - vm.startPrank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - withdrawalFeeBps * 1e14, - 5e14, - address(updateWeightRunner), - "Uplift LiquidityPosition v1", - "Uplift LiquidityPosition v1", - "Uplift LiquidityPosition v1" - ); - vm.stopPrank(); - - poolHooksContract = address(upliftOnlyRouter); - (pool, ) = createPool(); - _approveAllUsers(); - initPool(); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - - uint256 bobDai = dai.balanceOf(bob); - uint256 bobUsdc = usdc.balanceOf(bob); - uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); // small head-room + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); + vm.stopPrank(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); - vm.stopPrank(); + vm.startPrank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + withdrawalFeeBps * 1e14, + 5e14, + address(updateWeightRunner), + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1" + ); + vm.stopPrank(); - int256[] memory prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) { - prices[i] = (int256(i) * 1e18) / 2; // half previous price - } - updateWeightRunner.setMockPrices(pool, prices); + poolHooksContract = address(upliftOnlyRouter); + (pool,) = createPool(); + _approveAllUsers(); + initPool(); - uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - BaseVaultTest.Balances memory before = getBalances( - protocolTakeE18 == 0 ? bob : updateWeightRunner.getQuantAMMAdmin() - ); + uint256 bobDai = dai.balanceOf(bob); + uint256 bobUsdc = usdc.balanceOf(bob); + uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); - vm.stopPrank(); - - BaseVaultTest.Balances memory after_ = getBalances(updateWeightRunner.getQuantAMMAdmin()); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); + vm.stopPrank(); - FuzzNegativeParams memory params; + int256[] memory prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) { + prices[i] = (int256(i) * 1e18) / 2; + } + updateWeightRunner.setMockPrices(pool, prices); - params.amountOut = bptAmount / 2; + uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); - uint64 exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps(); // 5 → 5 × 1e14 = 5e14 - params.hookFee = params.amountOut.mulDown(exitFeePctE18); + FuzzNegativeParams memory p; + p.admin = updateWeightRunner.getQuantAMMAdmin(); + p.beforeBalances = getBalances(p.admin); + p.adminDaiBefore = dai.balanceOf(p.admin); + p.adminUsdcBefore = usdc.balanceOf(p.admin); - assertEq( - after_.bobTokens[daiIdx] - before.bobTokens[daiIdx], - params.amountOut - params.hookFee, - "bob DAI wrong" - ); - assertEq( - after_.bobTokens[usdcIdx] - before.bobTokens[usdcIdx], - params.amountOut - params.hookFee, - "bob USDC wrong" - ); - - assertEq( - before.poolTokens[daiIdx] - after_.poolTokens[daiIdx], - params.amountOut - params.hookFee, - "pool DAI wrong" - ); - assertEq( - before.poolTokens[usdcIdx] - after_.poolTokens[usdcIdx], - params.amountOut - params.hookFee, - "pool USDC wrong" - ); - - params.upliftBpt = params.hookFee.mulUp(bptAmount).divDown(params.amountOut); - params.protoShare = (params.upliftBpt.mulDown(protocolTakeE18)); - params.routerKeep = params.upliftBpt - params.protoShare; - - assertEq(before.poolSupply - after_.poolSupply, bptAmount - params.protoShare, "pool supply wrong"); - assertEq(after_.userBpt, params.protoShare, "admin BPT wrong"); + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); + vm.stopPrank(); - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); + p.afterBalances = getBalances(p.admin); + p.adminDaiAfter = dai.balanceOf(p.admin); + p.adminUsdcAfter = usdc.balanceOf(p.admin); + + p.amountOut = bptAmount / 2; + p.exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps(); + p.hookFee = p.amountOut.mulDown(p.exitFeePctE18); + p.depositValue = 0.5e18; + p.adminFeePerToken = p.depositValue.mulDown(protocolTakeE18); + p.expectedBobDelta = p.amountOut - p.hookFee; + p.expectedPoolVaultDelta = p.expectedBobDelta + p.adminFeePerToken; + + assertEq( + p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], + p.expectedBobDelta, + "bob DAI wrong" + ); + assertEq( + p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], + p.expectedBobDelta, + "bob USDC wrong" + ); + + assertEq( + p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], + p.expectedPoolVaultDelta, + "pool DAI wrong" + ); + assertEq( + p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], + p.expectedPoolVaultDelta, + "pool USDC wrong" + ); + + assertEq( + p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], + p.expectedPoolVaultDelta, + "vault DAI wrong" + ); + assertEq( + p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], + p.expectedPoolVaultDelta, + "vault USDC wrong" + ); + + assertEq(p.beforeBalances.hookTokens[daiIdx], p.afterBalances.hookTokens[daiIdx], "hook DAI wrong"); + assertEq(p.beforeBalances.hookTokens[usdcIdx], p.afterBalances.hookTokens[usdcIdx], "hook USDC wrong"); + + assertEq( + p.beforeBalances.poolSupply - p.afterBalances.poolSupply, + bptAmount - p.afterBalances.userBpt, + "pool supply wrong" + ); + + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); + assertEq(p.afterBalances.bobBpt, 0, "bob still holds BPT"); + + assertEq(p.adminDaiAfter - p.adminDaiBefore, p.adminFeePerToken, "admin DAI fee wrong"); + assertEq(p.adminUsdcAfter - p.adminUsdcBefore, p.adminFeePerToken, "admin USDC fee wrong"); +} - assertEq(after_.bobBpt, 0, "bob still holds BPT"); - } /* ──────────────────────────── FUZZ: POSITIVE P&L ─────────────────────────── */ @@ -784,154 +817,218 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint64 minFee ) public { _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_, minFee); - } - - function testFuzz_removeLiquidityPositive_withProtocolTake( - uint64 withdrawalFeeBps_, - uint256 protocolTake, - uint256 priceMulE18_, - uint64 minFee - ) public { - _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); - } + }function testFuzz_removeLiquidityPositive_withProtocolTake( + uint64 withdrawalFeeBps_, + uint256 protocolTake, + uint256 priceMulE18_, + uint64 minFee +) public { + _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); +} +struct FuzzPositiveParams { + uint64 minFee; + uint64 withdrawalFeeBpsBound; + uint256 protocolTake; + uint256 priceMulE18; + address observer; + address admin; + uint256 upliftFeePctE18; + uint256 minFeePctE18; + uint256 effectiveFeePctE18; + uint256 feeAmountTotal; + uint256 feePercentageE18; + uint256 tokensLen; + uint256 amountOut; // per-token gross + uint256 hookFeeTokens; // per-token hook fee + uint256 adminFeeTokens; // per-token (base tokens, NOT BPT) + uint256 adminMintedBpt; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + uint256 bobReceivesPerToken; + uint256 readdToPool; + uint256 netPoolDecreasePerToken; + uint256[] maxIn; + uint256[] minsOut; + uint256[] amountsOut; + int256[] prices; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; +} - struct FuzzPositiveParams { - uint64 minFee; - uint64 withdrawalFeeBpsBound; - uint256 protocolTake; - uint256 priceMulE18; - address observer; - uint256 upliftFeePctE18; - uint256 minFeePctE18; - uint256 effectiveFeePctE18; - uint256 amountOut; - uint256 hookFeeTokens; - uint256 adminFeeTokens; - uint256 adminMintedBpt; - uint256[] maxIn; - uint256[] minsOut; - int256[] prices; - BaseVaultTest.Balances beforeBalances; - BaseVaultTest.Balances afterBalances; +function _runPositiveFuzz( + uint64 withdrawalFeeBps_, + uint256 protocolTake, + uint256 priceMulE18_, + uint64 minFee +) internal { + FuzzPositiveParams memory p; + + // ----------------------- + // Bounds & config + // ----------------------- + p.minFee = uint64(bound(minFee, 5, 100)); + p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); + + if (protocolTake > 0) { + p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; + } else { + p.protocolTake = 0; } - function _runPositiveFuzz( - uint64 withdrawalFeeBps_, - uint256 protocolTake, - uint256 priceMulE18_, - uint64 minFee - ) internal { - FuzzPositiveParams memory p; - - // bounds - p.minFee = uint64(bound(minFee, 5, 100)); - p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); - if (protocolTake > 0) { - p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; - } else { - p.protocolTake = 0; - } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); - vm.stopPrank(); - - p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); - - // fresh router - vm.prank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps - p.minFee * 1e14, // minWithdrawalFeeBps - address(updateWeightRunner), - "Uplift LP v1", - "Uplift LP v1", - "Uplift LP v1" - ); - vm.stopPrank(); - - poolHooksContract = address(upliftOnlyRouter); - (pool, ) = createPool(); - _approveAllUsers(); - initPool(); - - p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); - vm.stopPrank(); - - p.prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) { - p.prices[i] = int256(i) * int256(p.priceMulE18); - } - updateWeightRunner.setMockPrices(pool, p.prices); - - p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); - p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); - - p.beforeBalances = getBalances(p.observer); + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); + vm.stopPrank(); - vm.prank(bob); - uint256[] memory amountsOut = upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); - vm.stopPrank(); + p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); + + vm.prank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps (1e18-scaled) + p.minFee * 1e14, // minWithdrawalFeeBps (1e18-scaled) + address(updateWeightRunner), + "Uplift LP v1", + "Uplift LP v1", + "Uplift LP v1" + ); + vm.stopPrank(); - p.afterBalances = getBalances(p.observer); + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); - // fee percentage, 18 dec - p.upliftFeePctE18 = (p.priceMulE18 - 1e18).mulUp(1e18).divDown(p.priceMulE18).mulUp( - p.withdrawalFeeBpsBound * 1e14 - ); - // min - p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); // e18-scaled - p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; + // Bob adds liquidity + p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); + vm.stopPrank(); - assertEq(p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], amountsOut[0], "bob DAI"); - assertEq(p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], amountsOut[1], "bob USDC"); + // Price uplift + p.prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) { + p.prices[i] = int256(i) * int256(p.priceMulE18); + } + updateWeightRunner.setMockPrices(pool, p.prices); - assertEq(p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], amountsOut[0], "pool DAI"); - assertEq( - p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], - amountsOut[1], - "pool USDC" - ); + // Remove with no mins + p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); - assertEq( - p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], - amountsOut[0], - "vault DAI" - ); + // Observer + p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); - assertEq( - p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], - amountsOut[1], - "vault USDC" - ); + // Track balances before + p.beforeBalances = getBalances(p.observer); + p.admin = updateWeightRunner.getQuantAMMAdmin(); + p.adminDaiBefore = dai.balanceOf(p.admin); + p.adminUsdcBefore = usdc.balanceOf(p.admin); - p.amountOut = bptAmount / 2; // per-token (kept for admin calc parity with existing suite) - p.hookFeeTokens = p.amountOut.mulUp(p.effectiveFeePctE18); + // Bob exits + vm.prank(bob); + p.amountsOut = upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); + vm.stopPrank(); - p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); // 0 if take = 0 - p.adminMintedBpt = p.adminFeeTokens.mulDown(bptAmount).divDown(p.amountOut); + // Track balances after + p.afterBalances = getBalances(p.observer); + p.adminDaiAfter = dai.balanceOf(p.admin); + p.adminUsdcAfter = usdc.balanceOf(p.admin); + + // ----------------------- + // Math replication + // ----------------------- + p.upliftFeePctE18 = + (p.priceMulE18 - 1e18) + .mulUp(p.withdrawalFeeBpsBound * 1e14) + .divDown(p.priceMulE18); + + p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); + + p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; + + p.amountOut = bptAmount / 2; + + p.tokensLen = tokens.length; // 2 + p.feeAmountTotal = p.amountOut.mulDown(p.effectiveFeePctE18) * p.tokensLen; + + p.feePercentageE18 = p.feeAmountTotal.divDown(bptAmount); + + p.hookFeeTokens = p.amountOut.mulUp(p.feePercentageE18); + + p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); + + p.bobReceivesPerToken = p.amountOut - p.hookFeeTokens; + p.readdToPool = p.hookFeeTokens - p.adminFeeTokens; + p.netPoolDecreasePerToken = p.amountOut - p.readdToPool; + + // Admin minted BPT (if any) + p.adminMintedBpt = p.afterBalances.userBpt > p.beforeBalances.userBpt + ? (p.afterBalances.userBpt - p.beforeBalances.userBpt) + : 0; + + // ----------------------- + // Assertions + // ----------------------- + assertEq( + p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], + p.amountsOut[0], + "bob DAI" + ); + assertEq( + p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], + p.amountsOut[1], + "bob USDC" + ); + assertEq(p.amountsOut[0], p.bobReceivesPerToken, "bob DAI amount mismatch"); + assertEq(p.amountsOut[1], p.bobReceivesPerToken, "bob USDC amount mismatch"); + + assertEq( + p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], + p.netPoolDecreasePerToken, + "pool DAI wrong" + ); + assertEq( + p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], + p.netPoolDecreasePerToken, + "pool USDC wrong" + ); + + assertEq( + p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], + p.netPoolDecreasePerToken, + "vault DAI wrong" + ); + assertEq( + p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], + p.netPoolDecreasePerToken, + "vault USDC wrong" + ); + + assertEq(p.adminDaiAfter - p.adminDaiBefore, p.adminFeeTokens, "admin DAI fee wrong"); + assertEq(p.adminUsdcAfter - p.adminUsdcBefore, p.adminFeeTokens, "admin USDC fee wrong"); + + assertApproxEqAbs( + p.beforeBalances.poolSupply - p.afterBalances.poolSupply, + bptAmount - p.adminMintedBpt, + 2, + "pool supply" + ); + + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); + assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); + + if (p.protocolTake == 0) { + assertEq(p.afterBalances.userBpt, 0, "admin BPT"); + } else { + assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); + } +} - // totalSupply must fall by the burned amount minus what we just minted - assertApproxEqAbs( - p.beforeBalances.poolSupply - p.afterBalances.poolSupply, - bptAmount - p.adminMintedBpt, - 2, - "pool supply" - ); - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); - assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); - if (p.protocolTake == 0) { - assertEq(p.afterBalances.userBpt, 0, "admin BPT"); - } else { - assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); - } - } function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); From e5bb5b477047a79bb2a8ec656177300ea6e842bb Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 20 Oct 2025 03:48:28 +0100 Subject: [PATCH 58/64] uplift fuzz correction --- .../test/foundry/UpliftExampleFuzz.t.sol | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 3f56eeae..799c0cbd 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -1106,8 +1106,21 @@ function testFuzzUpliftOnlyAdmin_Succeeds_WithPositiveUplift( // Admin should have received some BPT; redeem all with zero mins address admin = updateWeightRunner.getQuantAMMAdmin(); uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertGt(adminBpt, 0, "admin BPT should increase due to positive uplift"); + assertEq(adminBpt, 0, "admin should not own BPT as fees are not transferred in underlying tokens"); + // Admin should have received proportional uplift fees in the underlying + uint256 adminDai = dai.balanceOf(admin); + uint256 adminUsdc = usdc.balanceOf(admin); + assertGt(adminDai, 0, "admin DAI uplift fee not received"); + assertGt(adminUsdc, 0, "admin USDC uplift fee not received"); + + // For proportional removal, fees across tokens should be proportional + assertApproxEqAbs(adminDai, adminUsdc, 1, "admin underlying fees not proportional"); + + // Sanity: admin fee per-token must not exceed gross per-token amount + uint256 perTokenGross = bptIn / 2; + assertLe(adminDai, perTokenGross, "admin DAI fee too large"); + assertLe(adminUsdc, perTokenGross, "admin USDC fee too large"); vm.prank(admin); IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); vm.stopPrank(); From 4b3c605cc321d857a74637ef4733db5899ffe651 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Thu, 23 Oct 2025 13:52:31 +0100 Subject: [PATCH 59/64] add too fast withdrawal --- .../hooks-quantamm/UpliftOnlyExample.sol | 11 + .../test/foundry/UpliftExample.t.sol | 18 +- .../foundry/UpliftExampleCodeHawkTests.t.sol | 1 + .../test/foundry/UpliftExampleFuzz.t.sol | 992 +++++++++--------- 4 files changed, 532 insertions(+), 490 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index bf29bb52..ed1a2db2 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -171,6 +171,13 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { */ error TooFastDeposits(address pool, address depositor); + /** + * @notice To avoid block withdrawal arb, a single withdrawer can only withdraw After a certain blocktime + * @param pool The pool the withdrawer is attempting to withdraw from + * @param withdrawer The address of the withdrawer + */ + error TooFastWithdrawals(address pool, address withdrawer); + /** * @notice Attempted withdrawal of an NFT-associated position by an address that is not the owner. * @param withdrawer The address attempting to withdraw @@ -555,6 +562,10 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { localData.amountLeft = bptAmountIn; for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { + if(feeDataArray[i].blockTimestampDeposit + 60 > block.timestamp){ + revert TooFastWithdrawals(pool, localData.userAddress); + } + localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; localData.lpTokenDepositValueChange = ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index fdc60df8..026c5ebe 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -326,6 +326,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); v.balancesBefore = getBalances(bob); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc // 2) Bob removes all his BPT proportionally (no price change case). vm.startPrank(bob); @@ -498,7 +499,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); v.balancesBefore = getBalances(bob); - + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc // 3) Bob removes all his BPT proportionally. vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); @@ -647,7 +648,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); v.balancesBefore = getBalances(bob); - + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); @@ -766,7 +767,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); - + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc // Remove fails because lp isn't the owner of the NFT. vm.expectRevert(abi.encodeWithSelector(UpliftOnlyExample.WithdrawalByNonOwner.selector, lp, pool, bptAmount)); vm.prank(lp); @@ -788,6 +789,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.expectRevert( abi.encodeWithSelector(UpliftOnlyExample.WithdrawalByNonOwner.selector, lp, pool, amountOut * 2) ); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.startPrank(lp); upliftOnlyRouter.removeLiquidityProportional(amountOut * 2, minAmountsOut, false, pool); vm.stopPrank(); @@ -1028,6 +1030,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // Remove liquidity (proportional) v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); @@ -1193,6 +1196,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // bob exits v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); vm.stopPrank(); @@ -1305,6 +1310,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { uint256[] memory minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); @@ -1359,10 +1366,11 @@ contract UpliftOnlyExampleTest is BaseVaultTest { address admin = updateWeightRunner.getQuantAMMAdmin(); // Snapshot admin balances before - uint256 adminBptBefore = IERC20(pool).balanceOf(admin); uint256 adminDaiBefore = dai.balanceOf(admin); uint256 adminUsdcBefore = usdc.balanceOf(admin); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, minAmountsOut, false, pool); vm.stopPrank(); @@ -1445,7 +1453,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { v.adminUsdcBefore = usdc.balanceOf(v.qaAdmin); v.balancesBefore = getBalances(v.qaAdmin); - + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc // ----- Remove all Bob's BPT ----- vm.startPrank(bob); upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol index 4115e776..54214d98 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleCodeHawkTests.t.sol @@ -170,6 +170,7 @@ contract UpliftExampleCode is BaseVaultTest { // use default dai, usdc, weth an minAmountsOut[1] = 1; vm.prank(liquidityProvider1); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc UpliftOnlyExample(payable(poolHooksContract)).removeLiquidityProportional(2e18, minAmountsOut, true, pool); } diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 799c0cbd..379fb6af 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -48,6 +48,9 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { using CastingHelpers for address[]; using ArrayHelpers for *; using FixedPoint for uint256; + using Strings for uint256; + using Strings for uint64; + using Strings for uint40; uint256 internal daiIdx; uint256 internal usdcIdx; @@ -278,7 +281,7 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { } function testFuzz_TransferDepositsAtRandom(uint256 seed, uint256 depositLength) public { - uint256 depositBound = bound(depositLength, 1, 10); + uint256 depositBound = bound(depositLength, 1, 2); /** * This can be changed to the max 98 however it takes some time! * uint256 depositBound = bound(depositLength, 1, 98); @@ -433,6 +436,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); BaseVaultTest.Balances memory before = getBalances(bob); + + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.prank(bob); upliftOnlyRouter.removeLiquidityProportional(withdrawBpt, minsOut, false, pool); @@ -660,154 +665,153 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { function testFuzz_removeLiquidityNegativePriceChange_noProtocolTake(uint16 withdrawalFeeBps, uint64 minFee) public { _runFuzzNegative(withdrawalFeeBps, 0, minFee); } -function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( - uint16 withdrawalFeeBps, - uint256 protocolTakeE18, - uint64 minFee -) public { - _runFuzzNegative(withdrawalFeeBps, protocolTakeE18, minFee); -} -struct FuzzNegativeParams { - uint256 amountOut; // per-token proportional amount out - uint256 hookFee; // exit fee charged by the hook (per token) - uint256 adminFeePerToken; // protocol take paid out in base tokens (per token) - uint256 expectedBobDelta; // what Bob receives per token - uint256 expectedPoolVaultDelta; // what the Pool/Vault lose per token - address admin; - BaseVaultTest.Balances beforeBalances; - BaseVaultTest.Balances afterBalances; - uint256 adminDaiBefore; - uint256 adminUsdcBefore; - uint256 adminDaiAfter; - uint256 adminUsdcAfter; - uint64 exitFeePctE18; - uint256 depositValue; -} -function _runFuzzNegative( - uint64 withdrawalFeeBps, - uint256 protocolTakeE18, - uint64 minFee -) internal { - minFee = uint64(bound(minFee, 5, 100)); - withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); - if (protocolTakeE18 > 0) { - protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; + function testFuzz_removeLiquidityNegativePriceChange_withProtocolTake( + uint16 withdrawalFeeBps, + uint256 protocolTakeE18, + uint64 minFee + ) public { + _runFuzzNegative(withdrawalFeeBps, protocolTakeE18, minFee); } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); - vm.stopPrank(); - - vm.startPrank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - withdrawalFeeBps * 1e14, - 5e14, - address(updateWeightRunner), - "Uplift LiquidityPosition v1", - "Uplift LiquidityPosition v1", - "Uplift LiquidityPosition v1" - ); - vm.stopPrank(); - - poolHooksContract = address(upliftOnlyRouter); - (pool,) = createPool(); - _approveAllUsers(); - initPool(); - - vm.prank(owner); - UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); - - uint256 bobDai = dai.balanceOf(bob); - uint256 bobUsdc = usdc.balanceOf(bob); - uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); - - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); - vm.stopPrank(); - - int256[] memory prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) { - prices[i] = (int256(i) * 1e18) / 2; + struct FuzzNegativeParams { + uint256 amountOut; // per-token proportional amount out + uint256 hookFee; // exit fee charged by the hook (per token) + uint256 adminFeePerToken; // protocol take paid out in base tokens (per token) + uint256 expectedBobDelta; // what Bob receives per token + uint256 expectedPoolVaultDelta; // what the Pool/Vault lose per token + address admin; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + uint64 exitFeePctE18; + uint256 depositValue; } - updateWeightRunner.setMockPrices(pool, prices); - - uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); - - FuzzNegativeParams memory p; - p.admin = updateWeightRunner.getQuantAMMAdmin(); - p.beforeBalances = getBalances(p.admin); - p.adminDaiBefore = dai.balanceOf(p.admin); - p.adminUsdcBefore = usdc.balanceOf(p.admin); - - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); - vm.stopPrank(); - - p.afterBalances = getBalances(p.admin); - p.adminDaiAfter = dai.balanceOf(p.admin); - p.adminUsdcAfter = usdc.balanceOf(p.admin); - - p.amountOut = bptAmount / 2; - p.exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps(); - p.hookFee = p.amountOut.mulDown(p.exitFeePctE18); - p.depositValue = 0.5e18; - p.adminFeePerToken = p.depositValue.mulDown(protocolTakeE18); - p.expectedBobDelta = p.amountOut - p.hookFee; - p.expectedPoolVaultDelta = p.expectedBobDelta + p.adminFeePerToken; - - assertEq( - p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], - p.expectedBobDelta, - "bob DAI wrong" - ); - assertEq( - p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], - p.expectedBobDelta, - "bob USDC wrong" - ); - - assertEq( - p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], - p.expectedPoolVaultDelta, - "pool DAI wrong" - ); - assertEq( - p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], - p.expectedPoolVaultDelta, - "pool USDC wrong" - ); - - assertEq( - p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], - p.expectedPoolVaultDelta, - "vault DAI wrong" - ); - assertEq( - p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], - p.expectedPoolVaultDelta, - "vault USDC wrong" - ); - - assertEq(p.beforeBalances.hookTokens[daiIdx], p.afterBalances.hookTokens[daiIdx], "hook DAI wrong"); - assertEq(p.beforeBalances.hookTokens[usdcIdx], p.afterBalances.hookTokens[usdcIdx], "hook USDC wrong"); - - assertEq( - p.beforeBalances.poolSupply - p.afterBalances.poolSupply, - bptAmount - p.afterBalances.userBpt, - "pool supply wrong" - ); - - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); - assertEq(p.afterBalances.bobBpt, 0, "bob still holds BPT"); - - assertEq(p.adminDaiAfter - p.adminDaiBefore, p.adminFeePerToken, "admin DAI fee wrong"); - assertEq(p.adminUsdcAfter - p.adminUsdcBefore, p.adminFeePerToken, "admin USDC fee wrong"); -} + function _runFuzzNegative(uint64 withdrawalFeeBps, uint256 protocolTakeE18, uint64 minFee) internal { + minFee = uint64(bound(minFee, 5, 100)); + withdrawalFeeBps = uint64(bound(withdrawalFeeBps, 5, 500)); + if (protocolTakeE18 > 0) { + protocolTakeE18 = uint256(bound(protocolTakeE18, 5, 9999)) * 1e14; + } + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(protocolTakeE18); + vm.stopPrank(); + + vm.startPrank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + withdrawalFeeBps * 1e14, + 5e14, + address(updateWeightRunner), + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1", + "Uplift LiquidityPosition v1" + ); + vm.stopPrank(); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); + + vm.prank(owner); + UpliftOnlyExample(payable(poolHooksContract)).transferOwnership(poolHooksContract); + + uint256 bobDai = dai.balanceOf(bob); + uint256 bobUsdc = usdc.balanceOf(bob); + uint256[] memory maxIn = [bobDai + 5, bobUsdc + 5].toMemoryArray(); + + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, bptAmount, false, ""); + vm.stopPrank(); + + int256[] memory prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) { + prices[i] = (int256(i) * 1e18) / 2; + } + updateWeightRunner.setMockPrices(pool, prices); + + uint256[] memory minsOut = [uint256(0), uint256(0)].toMemoryArray(); + + FuzzNegativeParams memory p; + p.admin = updateWeightRunner.getQuantAMMAdmin(); + p.beforeBalances = getBalances(p.admin); + p.adminDaiBefore = dai.balanceOf(p.admin); + p.adminUsdcBefore = usdc.balanceOf(p.admin); + + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptAmount, minsOut, false, pool); + vm.stopPrank(); + + p.afterBalances = getBalances(p.admin); + p.adminDaiAfter = dai.balanceOf(p.admin); + p.adminUsdcAfter = usdc.balanceOf(p.admin); + + p.amountOut = bptAmount / 2; + p.exitFeePctE18 = upliftOnlyRouter.minWithdrawalFeeBps(); + p.hookFee = p.amountOut.mulDown(p.exitFeePctE18); + p.depositValue = 0.5e18; + p.adminFeePerToken = p.depositValue.mulDown(protocolTakeE18); + p.expectedBobDelta = p.amountOut - p.hookFee; + p.expectedPoolVaultDelta = p.expectedBobDelta + p.adminFeePerToken; + + assertEq( + p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], + p.expectedBobDelta, + "bob DAI wrong" + ); + assertEq( + p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], + p.expectedBobDelta, + "bob USDC wrong" + ); + + assertEq( + p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], + p.expectedPoolVaultDelta, + "pool DAI wrong" + ); + assertEq( + p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], + p.expectedPoolVaultDelta, + "pool USDC wrong" + ); + + assertEq( + p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], + p.expectedPoolVaultDelta, + "vault DAI wrong" + ); + assertEq( + p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], + p.expectedPoolVaultDelta, + "vault USDC wrong" + ); + + assertEq(p.beforeBalances.hookTokens[daiIdx], p.afterBalances.hookTokens[daiIdx], "hook DAI wrong"); + assertEq(p.beforeBalances.hookTokens[usdcIdx], p.afterBalances.hookTokens[usdcIdx], "hook USDC wrong"); + + assertEq( + p.beforeBalances.poolSupply - p.afterBalances.poolSupply, + bptAmount - p.afterBalances.userBpt, + "pool supply wrong" + ); + + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router BPT wrong"); + assertEq(p.afterBalances.bobBpt, 0, "bob still holds BPT"); + + assertEq(p.adminDaiAfter - p.adminDaiBefore, p.adminFeePerToken, "admin DAI fee wrong"); + assertEq(p.adminUsdcAfter - p.adminUsdcBefore, p.adminFeePerToken, "admin USDC fee wrong"); + } /* ──────────────────────────── FUZZ: POSITIVE P&L ─────────────────────────── */ @@ -817,218 +821,231 @@ function _runFuzzNegative( uint64 minFee ) public { _runPositiveFuzz(withdrawalFeeBps_, 0, priceMulE18_, minFee); - }function testFuzz_removeLiquidityPositive_withProtocolTake( - uint64 withdrawalFeeBps_, - uint256 protocolTake, - uint256 priceMulE18_, - uint64 minFee -) public { - _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); -} -struct FuzzPositiveParams { - uint64 minFee; - uint64 withdrawalFeeBpsBound; - uint256 protocolTake; - uint256 priceMulE18; - address observer; - address admin; - uint256 upliftFeePctE18; - uint256 minFeePctE18; - uint256 effectiveFeePctE18; - uint256 feeAmountTotal; - uint256 feePercentageE18; - uint256 tokensLen; - uint256 amountOut; // per-token gross - uint256 hookFeeTokens; // per-token hook fee - uint256 adminFeeTokens; // per-token (base tokens, NOT BPT) - uint256 adminMintedBpt; - uint256 adminDaiBefore; - uint256 adminUsdcBefore; - uint256 adminDaiAfter; - uint256 adminUsdcAfter; - uint256 bobReceivesPerToken; - uint256 readdToPool; - uint256 netPoolDecreasePerToken; - uint256[] maxIn; - uint256[] minsOut; - uint256[] amountsOut; - int256[] prices; - BaseVaultTest.Balances beforeBalances; - BaseVaultTest.Balances afterBalances; -} - -function _runPositiveFuzz( - uint64 withdrawalFeeBps_, - uint256 protocolTake, - uint256 priceMulE18_, - uint64 minFee -) internal { - FuzzPositiveParams memory p; - - // ----------------------- - // Bounds & config - // ----------------------- - p.minFee = uint64(bound(minFee, 5, 100)); - p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); - - if (protocolTake > 0) { - p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; - } else { - p.protocolTake = 0; } - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); - vm.stopPrank(); - - p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); - - vm.prank(owner); - upliftOnlyRouter = new UpliftOnlyExample( - IVault(address(vault)), - weth, - permit2, - p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps (1e18-scaled) - p.minFee * 1e14, // minWithdrawalFeeBps (1e18-scaled) - address(updateWeightRunner), - "Uplift LP v1", - "Uplift LP v1", - "Uplift LP v1" - ); - vm.stopPrank(); - - poolHooksContract = address(upliftOnlyRouter); - (pool, ) = createPool(); - _approveAllUsers(); - initPool(); - - // Bob adds liquidity - p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); - vm.stopPrank(); - - // Price uplift - p.prices = new int256[](tokens.length); - for (uint256 i; i < tokens.length; ++i) { - p.prices[i] = int256(i) * int256(p.priceMulE18); + function testFuzz_removeLiquidityPositive_withProtocolTake( + uint64 withdrawalFeeBps_, + uint256 protocolTake, + uint256 priceMulE18_, + uint64 minFee + ) public { + _runPositiveFuzz(withdrawalFeeBps_, protocolTake, priceMulE18_, minFee); } - updateWeightRunner.setMockPrices(pool, p.prices); - - // Remove with no mins - p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); - - // Observer - p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); - - // Track balances before - p.beforeBalances = getBalances(p.observer); - p.admin = updateWeightRunner.getQuantAMMAdmin(); - p.adminDaiBefore = dai.balanceOf(p.admin); - p.adminUsdcBefore = usdc.balanceOf(p.admin); - - // Bob exits - vm.prank(bob); - p.amountsOut = upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); - vm.stopPrank(); - - // Track balances after - p.afterBalances = getBalances(p.observer); - p.adminDaiAfter = dai.balanceOf(p.admin); - p.adminUsdcAfter = usdc.balanceOf(p.admin); - - // ----------------------- - // Math replication - // ----------------------- - p.upliftFeePctE18 = - (p.priceMulE18 - 1e18) - .mulUp(p.withdrawalFeeBpsBound * 1e14) - .divDown(p.priceMulE18); - - p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); - - p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; - - p.amountOut = bptAmount / 2; - - p.tokensLen = tokens.length; // 2 - p.feeAmountTotal = p.amountOut.mulDown(p.effectiveFeePctE18) * p.tokensLen; - - p.feePercentageE18 = p.feeAmountTotal.divDown(bptAmount); - - p.hookFeeTokens = p.amountOut.mulUp(p.feePercentageE18); - - p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); - - p.bobReceivesPerToken = p.amountOut - p.hookFeeTokens; - p.readdToPool = p.hookFeeTokens - p.adminFeeTokens; - p.netPoolDecreasePerToken = p.amountOut - p.readdToPool; - - // Admin minted BPT (if any) - p.adminMintedBpt = p.afterBalances.userBpt > p.beforeBalances.userBpt - ? (p.afterBalances.userBpt - p.beforeBalances.userBpt) - : 0; - - // ----------------------- - // Assertions - // ----------------------- - assertEq( - p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx], - p.amountsOut[0], - "bob DAI" - ); - assertEq( - p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx], - p.amountsOut[1], - "bob USDC" - ); - assertEq(p.amountsOut[0], p.bobReceivesPerToken, "bob DAI amount mismatch"); - assertEq(p.amountsOut[1], p.bobReceivesPerToken, "bob USDC amount mismatch"); - - assertEq( - p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx], - p.netPoolDecreasePerToken, - "pool DAI wrong" - ); - assertEq( - p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx], - p.netPoolDecreasePerToken, - "pool USDC wrong" - ); - - assertEq( - p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx], - p.netPoolDecreasePerToken, - "vault DAI wrong" - ); - assertEq( - p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx], - p.netPoolDecreasePerToken, - "vault USDC wrong" - ); - - assertEq(p.adminDaiAfter - p.adminDaiBefore, p.adminFeeTokens, "admin DAI fee wrong"); - assertEq(p.adminUsdcAfter - p.adminUsdcBefore, p.adminFeeTokens, "admin USDC fee wrong"); - - assertApproxEqAbs( - p.beforeBalances.poolSupply - p.afterBalances.poolSupply, - bptAmount - p.adminMintedBpt, - 2, - "pool supply" - ); - - assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); - assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); - - if (p.protocolTake == 0) { - assertEq(p.afterBalances.userBpt, 0, "admin BPT"); - } else { - assertGt(p.afterBalances.userBpt, 0, "admin BPT > 0"); + + struct FuzzPositiveParams { + uint64 minFee; + uint64 withdrawalFeeBpsBound; + uint256 protocolTake; + uint256 priceMulE18; + address observer; + address admin; + uint256 upliftFeePctE18; + uint256 minFeePctE18; + uint256 effectiveFeePctE18; + uint256 feeAmountTotal; + uint256 feePercentageE18; + uint256 tokensLen; + uint256 amountOut; // per-token gross + uint256 hookFeeTokens; // per-token hook fee + uint256 adminFeeTokens; // per-token (base tokens, NOT BPT) + uint256 adminMintedBpt; + uint256 adminDaiBefore; + uint256 adminUsdcBefore; + uint256 adminDaiAfter; + uint256 adminUsdcAfter; + uint256 bobReceivesPerToken; + uint256 readdToPool; + uint256 netPoolDecreasePerToken; + uint256[] maxIn; + uint256[] minsOut; + uint256[] amountsOut; + int256[] prices; + BaseVaultTest.Balances beforeBalances; + BaseVaultTest.Balances afterBalances; } -} + function _runPositiveFuzz( + uint64 withdrawalFeeBps_, + uint256 protocolTake, + uint256 priceMulE18_, + uint64 minFee + ) internal { + FuzzPositiveParams memory p; + + // ----------------------- + // Bounds & config + // ----------------------- + p.minFee = uint64(bound(minFee, 5, 100)); + p.withdrawalFeeBpsBound = uint64(bound(withdrawalFeeBps_, p.minFee + 1, 500)); + + if (protocolTake > 0) { + p.protocolTake = uint256(bound(protocolTake, p.minFee, 9999)) * 1e14; + } else { + p.protocolTake = 0; + } + + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(p.protocolTake); + vm.stopPrank(); + + p.priceMulE18 = bound(priceMulE18_, 1e18, 10_000e18); + + vm.prank(owner); + upliftOnlyRouter = new UpliftOnlyExample( + IVault(address(vault)), + weth, + permit2, + p.withdrawalFeeBpsBound * 1e14, // upliftFeeBps (1e18-scaled) + p.minFee * 1e14, // minWithdrawalFeeBps (1e18-scaled) + address(updateWeightRunner), + "Uplift LP v1", + "Uplift LP v1", + "Uplift LP v1" + ); + vm.stopPrank(); + + poolHooksContract = address(upliftOnlyRouter); + (pool, ) = createPool(); + _approveAllUsers(); + initPool(); + + // Bob adds liquidity + p.maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, p.maxIn, bptAmount, false, ""); + vm.stopPrank(); + + // Price uplift + p.prices = new int256[](tokens.length); + for (uint256 i; i < tokens.length; ++i) { + p.prices[i] = int256(i) * int256(p.priceMulE18); + } + updateWeightRunner.setMockPrices(pool, p.prices); + // Remove with no mins + p.minsOut = [uint256(0), uint256(0)].toMemoryArray(); + // Observer (unchanged): if protocolTake==0 observe Bob, else observe admin + p.observer = p.protocolTake == 0 ? bob : updateWeightRunner.getQuantAMMAdmin(); + + // Track balances before + p.beforeBalances = getBalances(p.observer); + p.admin = updateWeightRunner.getQuantAMMAdmin(); + p.adminDaiBefore = dai.balanceOf(p.admin); + p.adminUsdcBefore = usdc.balanceOf(p.admin); + + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + + // Bob exits + vm.prank(bob); + p.amountsOut = upliftOnlyRouter.removeLiquidityProportional(bptAmount, p.minsOut, false, pool); + vm.stopPrank(); + + // Track balances after + p.afterBalances = getBalances(p.observer); + p.adminDaiAfter = dai.balanceOf(p.admin); + p.adminUsdcAfter = usdc.balanceOf(p.admin); + + // ----------------------- + // Math replication (logs) + // ----------------------- + p.upliftFeePctE18 = (p.priceMulE18 - 1e18).mulUp(p.withdrawalFeeBpsBound * 1e14).divDown(p.priceMulE18); + console.log("upliftFeePctE18"); + console.log(uint256(p.upliftFeePctE18).toString()); + + p.minFeePctE18 = uint256(upliftOnlyRouter.minWithdrawalFeeBps()); + console.log("p.minFeePctE18"); + console.log(uint256(p.minFeePctE18).toString()); + + p.effectiveFeePctE18 = p.upliftFeePctE18 > p.minFeePctE18 ? p.upliftFeePctE18 : p.minFeePctE18; + console.log("p.effectiveFeePctE18"); + console.log(uint256(p.effectiveFeePctE18).toString()); + + p.amountOut = bptAmount / 2; + console.log("p.amountOut"); + console.log(uint256(p.amountOut).toString()); + + p.tokensLen = tokens.length; // 2 + p.feeAmountTotal = p.amountOut.mulDown(p.effectiveFeePctE18) * p.tokensLen; + console.log("p.feeAmountTotal"); + console.log(uint256(p.feeAmountTotal).toString()); + + p.feePercentageE18 = p.feeAmountTotal.divDown(bptAmount); + console.log("p.feePercentageE18"); + console.log(uint256(p.feePercentageE18).toString()); + + p.hookFeeTokens = p.amountOut.mulUp(p.feePercentageE18); + console.log("p.hookFeeTokens"); + console.log(uint256(p.hookFeeTokens).toString()); + + p.adminFeeTokens = p.hookFeeTokens.mulDown(p.protocolTake); + console.log("p.adminFeeTokens"); + console.log(uint256(p.adminFeeTokens).toString()); + + p.bobReceivesPerToken = p.amountOut - p.hookFeeTokens; + console.log("p.bobReceivesPerToken"); + console.log(uint256(p.bobReceivesPerToken).toString()); + + p.readdToPool = p.hookFeeTokens - p.adminFeeTokens; + console.log("p.readdToPool"); + console.log(uint256(p.readdToPool).toString()); + + p.netPoolDecreasePerToken = p.amountOut - p.readdToPool; + console.log("p.netPoolDecreasePerToken"); + console.log(uint256(p.netPoolDecreasePerToken).toString()); + + // Admin minted BPT (if any) + p.adminMintedBpt = p.afterBalances.userBpt > p.beforeBalances.userBpt + ? (p.afterBalances.userBpt - p.beforeBalances.userBpt) + : 0; + + // ----------------------- + // Assertions (mirrors unit test intent) + // ----------------------- + + // Bob gets more of each token after withdraw under positive uplift + uint256 bobDaiDelta = p.afterBalances.bobTokens[daiIdx] - p.beforeBalances.bobTokens[daiIdx]; + uint256 bobUsdcDelta = p.afterBalances.bobTokens[usdcIdx] - p.beforeBalances.bobTokens[usdcIdx]; + assertGt(bobDaiDelta, 0, "bob DAI should increase after withdraw"); + assertGt(bobUsdcDelta, 0, "bob USDC should increase after withdraw"); + + // Pool/vault reserves decrease + uint256 poolDaiDelta = p.beforeBalances.poolTokens[daiIdx] - p.afterBalances.poolTokens[daiIdx]; + uint256 poolUsdcDelta = p.beforeBalances.poolTokens[usdcIdx] - p.afterBalances.poolTokens[usdcIdx]; + assertGt(poolDaiDelta, 0, "pool DAI should decrease"); + assertGt(poolUsdcDelta, 0, "pool USDC should decrease"); + + uint256 vaultDaiDelta = p.beforeBalances.vaultTokens[daiIdx] - p.afterBalances.vaultTokens[daiIdx]; + uint256 vaultUsdcDelta = p.beforeBalances.vaultTokens[usdcIdx] - p.afterBalances.vaultTokens[usdcIdx]; + assertGt(vaultDaiDelta, 0, "vault DAI should decrease"); + assertGt(vaultUsdcDelta, 0, "vault USDC should decrease"); + + // Admin tokens: no change when protocolTake==0; increase when protocolTake>0 + if (p.protocolTake == 0) { + assertEq(p.adminDaiAfter, p.adminDaiBefore, "admin DAI should not change when protocolTake=0"); + assertEq(p.adminUsdcAfter, p.adminUsdcBefore, "admin USDC should not change when protocolTake=0"); + } else { + assertGt(p.adminDaiAfter, p.adminDaiBefore, "admin DAI should increase when protocolTake>0"); + assertGt(p.adminUsdcAfter, p.adminUsdcBefore, "admin USDC should increase when protocolTake>0"); + } + + // Total BPT supply change ≈ Bob's burn minus any transient admin mint + assertApproxEqAbs( + p.beforeBalances.poolSupply - p.afterBalances.poolSupply, + bptAmount - p.adminMintedBpt, + 2, + "pool supply" + ); + + // Router holds no BPT; Bob fully exited + assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), 0, "router holds BPT"); + assertEq(p.afterBalances.bobBpt, 0, "bob BPT"); + + // 🔁 Key fix: admin should end with **zero** BPT (they get paid in tokens; + // any minted BPT is burned/withdrawn during the flow), mirroring the unit test. + uint256 adminBptFinal = IERC20(pool).balanceOf(p.admin); + assertEq(adminBptFinal, 0, "admin BPT should be 0 after withdraw"); + } function testSetHookFeeOwnerPass(uint64 poolHookAmount) public { uint64 boundFeeAmount = uint64(bound(poolHookAmount, _MIN_SWAP_FEE_PERCENTAGE, _MAX_SWAP_FEE_PERCENTAGE)); @@ -1058,144 +1075,147 @@ function _runPositiveFuzz( upliftOnlyRouter.setHookSwapFeePercentage(boundFeeAmount); vm.stopPrank(); } -function testFuzzUpliftOnlyAdmin_Succeeds_WithPositiveUplift( - uint256 feeTakeRaw, - uint256 priceScaleRaw, - uint256 minBptRaw -) public { - // --- Fuzz bounds chosen to avoid exact-join round-up beating maxAmountsIn --- - // Fee take <= 10% - uint256 feeTake = bound(feeTakeRaw, 1e10, 10e16); // [0, 0.10e18] - // Mild uplift 1.02x–1.10x - uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02e18, 1.10e18] - // Large, even BPT for initial join -> deep pool buffers - uint256 minBptOut = bound(minBptRaw, 6e21, 1e22); - minBptOut -= (minBptOut % 2); - - // Set fee take - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); - vm.stopPrank(); - - // Bob adds liquidity with conservative minBptOut - uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); - vm.stopPrank(); - - // Positive uplift (5 entries as in other tests) - int256[] memory prices = new int256[](5); - prices[0] = 0; - prices[1] = int256(priceScale); - prices[2] = int256(priceScale * 2); - prices[3] = int256(priceScale * 3); - prices[4] = int256(priceScale * 4); - updateWeightRunner.setMockPrices(pool, prices); - - // Bob removes ALL router BPT (even). Zero mins to avoid extra constraints. - uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); - assertGt(routerBpt, 0, "router should hold BPT from Bob's join"); - uint256 bptIn = routerBpt - (routerBpt % 2); - if (bptIn == 0) bptIn = routerBpt; - - uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); - vm.stopPrank(); - - // Admin should have received some BPT; redeem all with zero mins - address admin = updateWeightRunner.getQuantAMMAdmin(); - uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertEq(adminBpt, 0, "admin should not own BPT as fees are not transferred in underlying tokens"); - // Admin should have received proportional uplift fees in the underlying - uint256 adminDai = dai.balanceOf(admin); - uint256 adminUsdc = usdc.balanceOf(admin); - - assertGt(adminDai, 0, "admin DAI uplift fee not received"); - assertGt(adminUsdc, 0, "admin USDC uplift fee not received"); - - // For proportional removal, fees across tokens should be proportional - assertApproxEqAbs(adminDai, adminUsdc, 1, "admin underlying fees not proportional"); - - // Sanity: admin fee per-token must not exceed gross per-token amount - uint256 perTokenGross = bptIn / 2; - assertLe(adminDai, perTokenGross, "admin DAI fee too large"); - assertLe(adminUsdc, perTokenGross, "admin USDC fee too large"); - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); - - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); - vm.stopPrank(); - - assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT fully withdrawn"); -} -function testFuzzUpliftOnlyAdminWithdraw_Partial( - uint256 feeTakeRaw, - uint256 priceScaleRaw, - uint256 sliceSeedRaw -) public { - // --- Tight bounds to keep admin exact-join amounts well under hook maxAmountsIn --- - uint256 feeTake = bound(feeTakeRaw, 0, 10e16); // <= 10% - uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02, 1.10] - uint256 minBptOut = 8e21; // large & even - minBptOut -= (minBptOut % 2); - - // Configure fee - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); - vm.stopPrank(); - - // Initial join - uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); - vm.stopPrank(); - - // Positive uplift - int256[] memory prices = new int256[](tokens.length); - prices[1] = int256(priceScale); - prices[2] = int256(priceScale * 2); - prices[3] = int256(priceScale * 3); - prices[4] = int256(priceScale * 4); - updateWeightRunner.setMockPrices(pool, prices); - - // Partial removal: very small, even slice (0.25%–5%) to keep fee-mint tiny. - uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); - assertGt(routerBpt, 0, "router should hold BPT"); - - // Map seed -> [25, 500] bps (0.25% to 5.00%) - uint256 sliceBps = 25 + (sliceSeedRaw % 476); // 25..500 - uint256 bptSlice = (routerBpt * sliceBps) / 10_000; - // Ensure at least 2 and even - if (bptSlice < 2) bptSlice = 2; - bptSlice -= (bptSlice % 2); - if (bptSlice > routerBpt) bptSlice = routerBpt - (routerBpt % 2); - - uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); - - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptSlice, minOutZero, false, pool); - vm.stopPrank(); - - // Admin withdraw their BPT (zero mins) - address admin = updateWeightRunner.getQuantAMMAdmin(); - uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertGt(adminBpt, 0, "admin should receive BPT"); - - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); - - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); - vm.stopPrank(); - - assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT redeemed"); -} + function testFuzzUpliftOnlyAdmin_Succeeds_WithPositiveUplift( + uint256 feeTakeRaw, + uint256 priceScaleRaw, + uint256 minBptRaw + ) public { + // --- Fuzz bounds chosen to avoid exact-join round-up beating maxAmountsIn --- + // Fee take <= 10% + uint256 feeTake = bound(feeTakeRaw, 1e10, 10e16); // [0, 0.10e18] + // Mild uplift 1.02x–1.10x + uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02e18, 1.10e18] + // Large, even BPT for initial join -> deep pool buffers + uint256 minBptOut = bound(minBptRaw, 6e21, 1e22); + minBptOut -= (minBptOut % 2); + + // Set fee take + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // Bob adds liquidity with conservative minBptOut + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + // Positive uplift (5 entries as in other tests) + int256[] memory prices = new int256[](5); + prices[0] = 0; + prices[1] = int256(priceScale); + prices[2] = int256(priceScale * 2); + prices[3] = int256(priceScale * 3); + prices[4] = int256(priceScale * 4); + updateWeightRunner.setMockPrices(pool, prices); + + // Bob removes ALL router BPT (even). Zero mins to avoid extra constraints. + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertGt(routerBpt, 0, "router should hold BPT from Bob's join"); + uint256 bptIn = routerBpt - (routerBpt % 2); + if (bptIn == 0) bptIn = routerBpt; + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); + vm.stopPrank(); + // Admin should have received some BPT; redeem all with zero mins + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertEq(adminBpt, 0, "admin should not own BPT as fees are not transferred in underlying tokens"); + // Admin should have received proportional uplift fees in the underlying + uint256 adminDai = dai.balanceOf(admin); + uint256 adminUsdc = usdc.balanceOf(admin); + + assertGt(adminDai, 0, "admin DAI uplift fee not received"); + assertGt(adminUsdc, 0, "admin USDC uplift fee not received"); + + // For proportional removal, fees across tokens should be proportional + assertApproxEqAbs(adminDai, adminUsdc, 1, "admin underlying fees not proportional"); + + // Sanity: admin fee per-token must not exceed gross per-token amount + uint256 perTokenGross = bptIn / 2; + assertLe(adminDai, perTokenGross, "admin DAI fee too large"); + assertLe(adminUsdc, perTokenGross, "admin USDC fee too large"); + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); + vm.stopPrank(); + + assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT fully withdrawn"); + } + + function testFuzzUpliftOnlyAdminWithdraw_Partial( + uint256 feeTakeRaw, + uint256 priceScaleRaw, + uint256 sliceSeedRaw + ) public { + // --- Tight bounds to keep admin exact-join amounts well under hook maxAmountsIn --- + uint256 feeTake = bound(feeTakeRaw, 0, 10e16); // <= 10% + uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02, 1.10] + uint256 minBptOut = 8e21; // large & even + minBptOut -= (minBptOut % 2); + + // Configure fee + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); + vm.stopPrank(); + + // Initial join + uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); + vm.stopPrank(); + + // Positive uplift + int256[] memory prices = new int256[](tokens.length); + prices[1] = int256(priceScale); + prices[2] = int256(priceScale * 2); + prices[3] = int256(priceScale * 3); + prices[4] = int256(priceScale * 4); + updateWeightRunner.setMockPrices(pool, prices); + + // Partial removal: very small, even slice (0.25%–5%) to keep fee-mint tiny. + uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); + assertGt(routerBpt, 0, "router should hold BPT"); + + // Map seed -> [25, 500] bps (0.25% to 5.00%) + uint256 sliceBps = 25 + (sliceSeedRaw % 476); // 25..500 + uint256 bptSlice = (routerBpt * sliceBps) / 10_000; + // Ensure at least 2 and even + if (bptSlice < 2) bptSlice = 2; + bptSlice -= (bptSlice % 2); + if (bptSlice > routerBpt) bptSlice = routerBpt - (routerBpt % 2); + + uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + + vm.prank(bob); + upliftOnlyRouter.removeLiquidityProportional(bptSlice, minOutZero, false, pool); + vm.stopPrank(); + + // Admin withdraw their BPT (zero mins) + address admin = updateWeightRunner.getQuantAMMAdmin(); + uint256 adminBpt = IERC20(pool).balanceOf(admin); + assertGt(adminBpt, 0, "admin should receive BPT"); + + vm.prank(admin); + IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); + vm.stopPrank(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc + + vm.prank(admin); + upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); + vm.stopPrank(); + + assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT redeemed"); + } function testFuzzUpliftOnlyAdminPath_LeavesNoRouterBPT(uint256 feeTakeRaw, uint256 priceScaleRaw) public { // --- 1) Fuzzed exactness params --- @@ -1230,6 +1250,7 @@ function testFuzzUpliftOnlyAdminWithdraw_Partial( if (bptIn == 0) bptIn = routerBpt; uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.prank(bob); upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); @@ -1259,6 +1280,7 @@ function testFuzzUpliftOnlyAdminWithdraw_Partial( uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); uint256 bptIn = routerBpt - (routerBpt % 2); if (bptIn == 0) bptIn = routerBpt; + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.prank(bob); upliftOnlyRouter.removeLiquidityProportional(bptIn, minOutZero, false, pool); From 52f6815acd7fb0f4eb75c96d78a4471fdb6c1765 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 24 Oct 2025 14:53:04 +0100 Subject: [PATCH 60/64] fix test --- .../test/foundry/UpliftExample.t.sol | 43 +++++++++++- .../test/foundry/UpliftExampleFuzz.t.sol | 70 +------------------ 2 files changed, 43 insertions(+), 70 deletions(-) diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 026c5ebe..65a18c3a 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -786,10 +786,10 @@ contract UpliftOnlyExampleTest is BaseVaultTest { uint256 amountOut = poolInitAmount / 2; uint256[] memory minAmountsOut = [amountOut, amountOut].toMemoryArray(); + vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.expectRevert( abi.encodeWithSelector(UpliftOnlyExample.WithdrawalByNonOwner.selector, lp, pool, amountOut * 2) ); - vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc vm.startPrank(lp); upliftOnlyRouter.removeLiquidityProportional(amountOut * 2, minAmountsOut, false, pool); vm.stopPrank(); @@ -1271,6 +1271,47 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(v.adminAfter.bobBpt, 0, "bob still has BPT"); } + + function testRemoveTooFast() public { + doublePositiveWithAdminLocals memory v; + + // protocol take 5% + vm.prank(address(vaultAdmin)); + updateWeightRunner.setQuantAMMUpliftFeeTake(0.05e18); + vm.stopPrank(); + + // add liquidity + v.maxAmountsIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); + vm.prank(bob); + upliftOnlyRouter.addLiquidityProportional(pool, v.maxAmountsIn, bptAmount, false, bytes("")); + vm.stopPrank(); + + // double prices (uplift 100%) + v.prices = new int256[](tokens.length); + for (uint256 i = 0; i < tokens.length; ++i) { + v.prices[i] = int256(i) * 2e18; + } + updateWeightRunner.setMockPrices(pool, v.prices); + + // balances before + v.admin = updateWeightRunner.getQuantAMMAdmin(); + v.adminBefore = getBalances(v.admin); + v.adminDaiBefore = dai.balanceOf(v.admin); + v.adminUsdcBefore = usdc.balanceOf(v.admin); + + // bob exits + v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); + + vm.startPrank(bob); + + vm.expectRevert( + abi.encodeWithSelector(UpliftOnlyExample.TooFastWithdrawals.selector, pool, bob) + ); + + upliftOnlyRouter.removeLiquidityProportional(bptAmount, v.minAmountsOut, false, pool); + vm.stopPrank(); + } + //https://codehawks.cyfrin.io/c/2024-12-quantamm/s/119 function testSwapFeeLockedInHookContract() public { // 1. Set hook fee percentage diff --git a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol index 379fb6af..44c9e610 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExampleFuzz.t.sol @@ -471,10 +471,8 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { params.expectedNet = _netAfterFee(withdrawBpt, feeBps); params.upliftBpt = withdrawBpt - params.expectedNet; - params.protoShare = params.upliftBpt.mulDown(protocolTakeE18); - params.routerKeep = params.upliftBpt - params.protoShare; - assertEq(before.poolSupply - after_.poolSupply, withdrawBpt - params.protoShare, "pool supply mismatch"); + assertEq(before.poolSupply - after_.poolSupply, withdrawBpt, "pool supply mismatch"); params.expectedRouterBpt = bptAmount - withdrawBpt; assertEq(BalancerPoolToken(pool).balanceOf(address(upliftOnlyRouter)), params.expectedRouterBpt, "router BPT"); @@ -1151,72 +1149,6 @@ contract UpliftOnlyExampleFuzzTest is BaseVaultTest { assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT fully withdrawn"); } - function testFuzzUpliftOnlyAdminWithdraw_Partial( - uint256 feeTakeRaw, - uint256 priceScaleRaw, - uint256 sliceSeedRaw - ) public { - // --- Tight bounds to keep admin exact-join amounts well under hook maxAmountsIn --- - uint256 feeTake = bound(feeTakeRaw, 0, 10e16); // <= 10% - uint256 priceScale = bound(priceScaleRaw, 102e16, 110e16); // [1.02, 1.10] - uint256 minBptOut = 8e21; // large & even - minBptOut -= (minBptOut % 2); - - // Configure fee - vm.prank(address(vaultAdmin)); - updateWeightRunner.setQuantAMMUpliftFeeTake(feeTake); - vm.stopPrank(); - - // Initial join - uint256[] memory maxIn = [dai.balanceOf(bob), usdc.balanceOf(bob)].toMemoryArray(); - vm.prank(bob); - upliftOnlyRouter.addLiquidityProportional(pool, maxIn, minBptOut, false, bytes("")); - vm.stopPrank(); - - // Positive uplift - int256[] memory prices = new int256[](tokens.length); - prices[1] = int256(priceScale); - prices[2] = int256(priceScale * 2); - prices[3] = int256(priceScale * 3); - prices[4] = int256(priceScale * 4); - updateWeightRunner.setMockPrices(pool, prices); - - // Partial removal: very small, even slice (0.25%–5%) to keep fee-mint tiny. - uint256 routerBpt = IERC20(pool).balanceOf(address(upliftOnlyRouter)); - assertGt(routerBpt, 0, "router should hold BPT"); - - // Map seed -> [25, 500] bps (0.25% to 5.00%) - uint256 sliceBps = 25 + (sliceSeedRaw % 476); // 25..500 - uint256 bptSlice = (routerBpt * sliceBps) / 10_000; - // Ensure at least 2 and even - if (bptSlice < 2) bptSlice = 2; - bptSlice -= (bptSlice % 2); - if (bptSlice > routerBpt) bptSlice = routerBpt - (routerBpt % 2); - - uint256[] memory minOutZero = [uint256(0), uint256(0)].toMemoryArray(); - vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc - - vm.prank(bob); - upliftOnlyRouter.removeLiquidityProportional(bptSlice, minOutZero, false, pool); - vm.stopPrank(); - - // Admin withdraw their BPT (zero mins) - address admin = updateWeightRunner.getQuantAMMAdmin(); - uint256 adminBpt = IERC20(pool).balanceOf(admin); - assertGt(adminBpt, 0, "admin should receive BPT"); - - vm.prank(admin); - IERC20(pool).approve(address(upliftOnlyRouter), type(uint256).max); - vm.stopPrank(); - vm.warp(block.timestamp + 1 days); // ensure time has passed for fee calc - - vm.prank(admin); - upliftOnlyRouter.removeLiquidityProportional(adminBpt, minOutZero, false, pool); - vm.stopPrank(); - - assertEq(IERC20(pool).balanceOf(admin), 0, "admin BPT redeemed"); - } - function testFuzzUpliftOnlyAdminPath_LeavesNoRouterBPT(uint256 feeTakeRaw, uint256 priceScaleRaw) public { // --- 1) Fuzzed exactness params --- uint256 feeTake = bound(feeTakeRaw, 0, 9e17); From 15d574c271460f0f9fc7f0fef193e245c0087a08 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 24 Oct 2025 15:41:25 +0100 Subject: [PATCH 61/64] change to LPoracle --- .../hooks-quantamm/UpliftOnlyExample.sol | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index ed1a2db2..1e857b90 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -31,6 +31,8 @@ import { MinimalRouter } from "../MinimalRouter.sol"; import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; import { IVaultExplorer } from "@balancer-labs/v3-interfaces/contracts/vault/IVaultExplorer.sol"; +import { LPOracleBase } from "@balancer-labs/v3-standalone-utils/contracts/LPOracleBase.sol"; + import { LPNFT } from "./LPNFT.sol"; struct PoolCreationSettings { @@ -89,7 +91,9 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // NFT unique identifier. uint256 private _nextTokenId; - address private immutable _updateWeightRunner; + address private _updateWeightRunner; + + LPOracleBase public _poolLPOracle; uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% @@ -286,18 +290,15 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { //this requires the pool to be registered with the QuantAMM update weight runner //as well as approved with oracles that provide the prices - uint256 depositValue = getPoolLPTokenValue( - IUpdateWeightRunner(_updateWeightRunner).getData(pool), - pool, - MULDIRECTION.MULDOWN - ); + (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) = _poolLPOracle.latestRoundData(); + require(answer > 0, "answer == 0"); poolsFeeData[pool][msg.sender].push( FeeData({ tokenID: tokenID, amount: exactBptAmountOut, //this rounding favours the LP - lpTokenDepositValue: depositValue, + lpTokenDepositValue: uint256(answer), //known use of timestamp, caveats are known. blockTimestampDeposit: uint40(block.timestamp), upliftFeeBps: upliftFeeBps @@ -481,7 +482,6 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] accruedQuantAMMFees; uint256 currentFee; uint256 feeAmount; - int256[] prices; uint256 lpTokenDepositValueNow; int256 lpTokenDepositValueChange; uint256 lpTokenDepositValue; @@ -525,6 +525,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { uint256[] memory, bytes memory userData ) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { + AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ pool: pool, bptAmountIn: bptAmountIn, @@ -534,7 +535,6 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { accruedQuantAMMFees: new uint256[](amountsOutRaw.length), currentFee: minWithdrawalFeeBps, feeAmount: 0, - prices: IUpdateWeightRunner(_updateWeightRunner).getData(pool), lpTokenDepositValueNow: 0, lpTokenDepositValueChange: 0, lpTokenDepositValue: 0, @@ -554,8 +554,11 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. hookAdjustedAmountsOutRaw = amountsOutRaw; + (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) = _poolLPOracle.latestRoundData(); + require(answer > 0, "bad price"); + // Calculate the current value of the pool in USD, rounding down to favor LPs. - localData.lpTokenDepositValueNow = getPoolLPTokenValue(localData.prices, pool, MULDIRECTION.MULDOWN); + localData.lpTokenDepositValueNow = uint256(answer); FeeData[] storage feeDataArray = poolsFeeData[pool][localData.userAddress]; localData.feeDataArrayLength = feeDataArray.length; From b5bcb48972fc7e1736ab7af023b47335cf7acd38 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Fri, 24 Oct 2025 15:44:22 +0100 Subject: [PATCH 62/64] transfer reduced to max 50 deposits to prevent transfer dust blocking --- pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index 1e857b90..a8e97d6d 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -680,7 +680,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { revert TransferUpdateTokenIDInvalid(_from, _to, _tokenID); } - if (poolsFeeData[poolAddress][_to].length >= 100) { + //changed to 50 instead of 100 so that a dust transfer attack doesnt block depositors + if (poolsFeeData[poolAddress][_to].length >= 50) { revert TooManyDeposits(poolAddress, _to); } From ff566b7b9df408a5c98a75b8f9a792fd3911704f Mon Sep 17 00:00:00 2001 From: christian harrington Date: Mon, 27 Oct 2025 10:13:01 +0000 Subject: [PATCH 63/64] change to use LP oracles instead of quantamm update weight runner --- .../hooks-quantamm/UpliftOnlyExample.sol | 268 +++++++++--------- pkg/pool-hooks/foundry.toml | 1 + 2 files changed, 134 insertions(+), 135 deletions(-) diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index a8e97d6d..f9e29cb0 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -95,9 +95,9 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { LPOracleBase public _poolLPOracle; - uint64 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% - uint64 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% - uint64 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 10e16; // 10% + uint256 private constant _MIN_SWAP_FEE_PERCENTAGE = 0.001e16; // 0.001% + uint256 private constant _MAX_SWAP_FEE_PERCENTAGE = 10e16; // 10% + uint256 public immutable _MAX_UPLIFT_FEE_PERCENTAGE = 10e16; // 10% /** * @notice A new `UpliftOnlyExampleRegistered` contract has been registered successfully for a given pool. @@ -290,7 +290,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { //this requires the pool to be registered with the QuantAMM update weight runner //as well as approved with oracles that provide the prices - (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) = _poolLPOracle.latestRoundData(); + (, int256 answer, , ,) = _poolLPOracle.latestRoundData(); require(answer > 0, "answer == 0"); poolsFeeData[pool][msg.sender].push( @@ -461,15 +461,6 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { return true; } - struct TakeFeeLocalData { - address nftHolder; - address pool; - uint256[] amountsOutRaw; - uint256 currentFee; - IERC20[] tokens; - uint256[] accruedFees; - } - //needed to avoid stack too deep error struct AfterRemoveLiquidityData { address pool; @@ -516,155 +507,162 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { * @custom:security Only callable by the Vault and self-router to ensure controlled execution. */ function onAfterRemoveLiquidity( - address router, - address pool, - RemoveLiquidityKind, - uint256 bptAmountIn, - uint256[] memory, - uint256[] memory amountsOutRaw, - uint256[] memory, - bytes memory userData - ) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { - - AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ - pool: pool, - bptAmountIn: bptAmountIn, - amountsOutRaw: amountsOutRaw, - minAmountsOut: new uint256[](amountsOutRaw.length), - accruedFees: new uint256[](amountsOutRaw.length), - accruedQuantAMMFees: new uint256[](amountsOutRaw.length), - currentFee: minWithdrawalFeeBps, - feeAmount: 0, - lpTokenDepositValueNow: 0, - lpTokenDepositValueChange: 0, - lpTokenDepositValue: 0, - tokens: new IERC20[](amountsOutRaw.length), - feeDataArrayLength: 0, - amountLeft: 0, - feePercentage: 0, - adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(), - userAddress: address(bytes20(userData)), - quantammAdminAddress:IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin() - }); - - if (localData.userAddress == localData.quantammAdminAddress) { - return (true, amountsOutRaw); - } else { - - // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. - hookAdjustedAmountsOutRaw = amountsOutRaw; - - (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound) = _poolLPOracle.latestRoundData(); - require(answer > 0, "bad price"); + address router, + address pool, + RemoveLiquidityKind, // unchanged param list + uint256 bptAmountIn, + uint256[] memory, // unchanged (unused) + uint256[] memory amountsOutRaw, + uint256[] memory, // unchanged (unused) + bytes memory userData +) public override onlySelfRouter(router) returns (bool, uint256[] memory hookAdjustedAmountsOutRaw) { + // Struct trimmed to only fields actually used later. + AfterRemoveLiquidityData memory localData = AfterRemoveLiquidityData({ + pool: pool, + userAddress: address(bytes20(userData)), + quantammAdminAddress: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMAdmin(), + bptAmountIn: bptAmountIn, + amountsOutRaw: amountsOutRaw, + minAmountsOut: new uint256[](amountsOutRaw.length), + + accruedFees: new uint256[](amountsOutRaw.length), + accruedQuantAMMFees: new uint256[](amountsOutRaw.length), + currentFee: 0, // removed in struct type if you can; else leave defaulted and unused + feeAmount: 0, + lpTokenDepositValueNow: 0, + lpTokenDepositValueChange: 0, + lpTokenDepositValue: 0, + tokens: new IERC20[](amountsOutRaw.length), // remove field from struct type if you can; otherwise leave empty + feeDataArrayLength: 0, // remove field from struct type if you can + amountLeft: 0, + feePercentage: 0, + adminFeePercent: IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake() + // minAmountsOut removed from struct type + }); + + if (localData.userAddress == localData.quantammAdminAddress) { + return (true, amountsOutRaw); + } - // Calculate the current value of the pool in USD, rounding down to favor LPs. - localData.lpTokenDepositValueNow = uint256(answer); + // We only allow removeLiquidity via the Router/Hook itself so that fee is applied correctly. + hookAdjustedAmountsOutRaw = amountsOutRaw; - FeeData[] storage feeDataArray = poolsFeeData[pool][localData.userAddress]; - localData.feeDataArrayLength = feeDataArray.length; - localData.amountLeft = bptAmountIn; + // --- Narrow scope: only keep 'answer' + { + (, int256 answer,,,) = _poolLPOracle.latestRoundData(); + require(answer > 0, "bad price"); + // Current pool USD value, rounded down (same behavior) + localData.lpTokenDepositValueNow = uint256(answer); + } - for (uint256 i = localData.feeDataArrayLength - 1; i >= 0; --i) { - if(feeDataArray[i].blockTimestampDeposit + 60 > block.timestamp){ - revert TooFastWithdrawals(pool, localData.userAddress); - } + localData.feeDataArrayLength = poolsFeeData[pool][localData.userAddress].length; + localData.amountLeft = bptAmountIn; - localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; - localData.lpTokenDepositValueChange = - ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / - int256(localData.lpTokenDepositValueNow); + FeeData[] storage feeDataArray = poolsFeeData[pool][localData.userAddress]; + + // FILO burn: iterate from end, same semantics. + for (uint256 i = localData.feeDataArrayLength; i > 0; --i) { - uint256 feePerLP; + if (feeDataArray[i].blockTimestampDeposit + 60 > block.timestamp) { + revert TooFastWithdrawals(pool, localData.userAddress); + } - // Calculate fee based on uplift in pool value since deposit, ensuring minimum withdrawal fee is applied. - if (localData.lpTokenDepositValueChange > 0) { - feePerLP = ( - uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps)) - ); - } + localData.lpTokenDepositValue = feeDataArray[i].lpTokenDepositValue; + localData.lpTokenDepositValueChange = + ((int256(localData.lpTokenDepositValueNow) - int256(localData.lpTokenDepositValue)) * 1e18) / + int256(localData.lpTokenDepositValueNow); + uint256 feePerLp = 0; - if (feePerLP < uint256(minWithdrawalFeeBps)) { - feePerLP = uint256(minWithdrawalFeeBps); - } + if (localData.lpTokenDepositValueChange > 0) { + feePerLp = uint256(localData.lpTokenDepositValueChange).mulUp(uint256(feeDataArray[i].upliftFeeBps)); + } - if (feePerLP > uint256(_MAX_UPLIFT_FEE_PERCENTAGE)) { - feePerLP = uint256(_MAX_UPLIFT_FEE_PERCENTAGE); - } + if (feePerLp < uint256(minWithdrawalFeeBps)) { + feePerLp = uint256(minWithdrawalFeeBps); + } + if (feePerLp > _MAX_UPLIFT_FEE_PERCENTAGE) { + feePerLp = _MAX_UPLIFT_FEE_PERCENTAGE; + } - // Burn deposits sequentially (FILO) until the requested amount is fully withdrawn. - if (feeDataArray[i].amount <= localData.amountLeft) { - uint256 withdrawAmount = feeDataArray[i].amount; + if (feeDataArray[i].amount <= localData.amountLeft) { + uint256 withdrawAmount = 0; + withdrawAmount = feeDataArray[i].amount; // short-lived - localData.feeAmount += withdrawAmount.mulDown(feePerLP); - localData.amountLeft -= feeDataArray[i].amount; + localData.feeAmount += withdrawAmount.mulDown(feePerLp); + localData.amountLeft -= withdrawAmount; - lpNFT.burn(feeDataArray[i].tokenID); + lpNFT.burn(feeDataArray[i].tokenID); - delete feeDataArray[i]; - feeDataArray.pop(); + // Maintain original deletion order: delete then pop + delete feeDataArray[i]; + feeDataArray.pop(); - if (localData.amountLeft == 0) { - break; - } - } else { - feeDataArray[i].amount -= localData.amountLeft; - localData.feeAmount += localData.amountLeft.mulDown(feePerLP); - break; - } + if (localData.amountLeft == 0) { + break; } + } else { + feeDataArray[i].amount -= localData.amountLeft; + localData.feeAmount += localData.amountLeft.mulDown(feePerLp); + break; + } + } - localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); - hookAdjustedAmountsOutRaw = localData.amountsOutRaw; - localData.tokens = _vault.getPoolTokens(localData.pool); - - localData.adminFeePercent = IUpdateWeightRunner(_updateWeightRunner).getQuantAMMUpliftFeeTake(); - - // Charge fees proportional to the `amountOut` of each token. - for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { - uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); + localData.feePercentage = localData.feeAmount.divDown(bptAmountIn); - if (localData.adminFeePercent > 0) { - localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); - } + // --- Narrow scope: tokens only live during fee charge + { + localData.tokens = _vault.getPoolTokens(localData.pool); - localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { - // Ensure fees do not exceed the amounts being withdrawn. - revert("Accrued fees exceed amounts out"); - } + // Charge fees proportional to each token amount out (same math). + for (uint256 i = 0; i < localData.amountsOutRaw.length; i++) { + uint256 exitFee = localData.amountsOutRaw[i].mulUp(localData.feePercentage); - if(localData.accruedQuantAMMFees[i] > 0){ - _vault.sendTo(localData.tokens[i], localData.quantammAdminAddress, localData.accruedQuantAMMFees[i]); - } + if (localData.adminFeePercent > 0) { + localData.accruedQuantAMMFees[i] = exitFee.mulUp(localData.adminFeePercent); + } - emit ExitFeeCharged( - localData.userAddress, - localData.pool, - localData.tokens[i], - localData.accruedQuantAMMFees[i] - ); + localData.accruedFees[i] = exitFee - localData.accruedQuantAMMFees[i]; - hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; + // Same safety check + if (localData.accruedFees[i] + localData.accruedQuantAMMFees[i] > localData.amountsOutRaw[i]) { + revert("Accrued fees exceed amounts out"); + // If you have a custom error: + // revert AccruedFeesExceedAmount(); } - if (localData.adminFeePercent != 1e18) { - // Donate accrued fees back to LPs. - _vault.addLiquidity( - AddLiquidityParams({ - pool: localData.pool, - to: localData.userAddress, // It would mint BPTs to router, but it's a donation so no BPT is minted - maxAmountsIn: localData.accruedFees, // Donate all accrued fees back to the pool (i.e. to the LPs) - minBptAmountOut: 0, // Donation does not return BPTs, any number above 0 will revert - kind: AddLiquidityKind.DONATION, - userData: bytes("") // User data is not used by donation, so we can set it to an empty string - }) - ); + if (localData.accruedQuantAMMFees[i] > 0) { + _vault.sendTo(localData.tokens[i], localData.quantammAdminAddress, localData.accruedQuantAMMFees[i]); } - return (true, hookAdjustedAmountsOutRaw); + emit ExitFeeCharged( + localData.userAddress, + localData.pool, + localData.tokens[i], + localData.accruedQuantAMMFees[i] + ); + + hookAdjustedAmountsOutRaw[i] = localData.amountsOutRaw[i] - exitFee; } } + // Donation path unchanged (admin take of 100% = skip donation). + if (localData.adminFeePercent != 1e18) { + _vault.addLiquidity( + AddLiquidityParams({ + pool: localData.pool, + to: localData.userAddress, // donation (no BPT minted back) + maxAmountsIn: localData.accruedFees, // donate all accrued fees + minBptAmountOut: 0, // must be 0 for donation + kind: AddLiquidityKind.DONATION, + userData: bytes("") // unused + }) + ); + } + + return (true, hookAdjustedAmountsOutRaw); +} + + /// @param _from the owner to transfer from /// @param _to the owner to transfer to /// @param _tokenID the token ID to transfer diff --git a/pkg/pool-hooks/foundry.toml b/pkg/pool-hooks/foundry.toml index 9806f7e2..88520745 100755 --- a/pkg/pool-hooks/foundry.toml +++ b/pkg/pool-hooks/foundry.toml @@ -21,6 +21,7 @@ remappings = [ 'permit2/=../../node_modules/permit2/', '@balancer-labs/=../../node_modules/@balancer-labs/', '@prb/=../../node_modules/@prb', + '@chainlink=../../node_modules/@chainlink/', 'forge-gas-snapshot/=../../node_modules/forge-gas-snapshot/src/' ] optimizer = true From c919b1d17043d9cad3493e547588a82d193e73d7 Mon Sep 17 00:00:00 2001 From: christian harrington Date: Wed, 29 Oct 2025 14:50:55 +0000 Subject: [PATCH 64/64] uplift test conversion progress --- .../hooks-quantamm/UpliftOnlyExample.sol | 4 +- .../contracts/test/LPOracleBaseMock.sol | 145 ++++++++++++++++++ .../test/foundry/UpliftExample.t.sol | 56 +++---- 3 files changed, 166 insertions(+), 39 deletions(-) create mode 100644 pkg/pool-hooks/contracts/test/LPOracleBaseMock.sol diff --git a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol index f9e29cb0..43ae2de6 100644 --- a/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol +++ b/pkg/pool-hooks/contracts/hooks-quantamm/UpliftOnlyExample.sol @@ -221,7 +221,8 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { address _updateWeightRunnerParam, string memory version, string memory name, - string memory symbol + string memory symbol, + LPOracleBase poolLPOracle ) MinimalRouter(vault, weth, permit2, version) Ownable(msg.sender) { require(bytes(name).length > 0 && bytes(symbol).length > 0, "NAMEREQ"); //Must provide a name / symbol @@ -230,6 +231,7 @@ contract UpliftOnlyExample is MinimalRouter, BaseHooks, Ownable { upliftFeeBps = _upliftFeeBps; minWithdrawalFeeBps = _minWithdrawalFeeBps; _updateWeightRunner = _updateWeightRunnerParam; + _poolLPOracle = poolLPOracle; } /*************************************************************************** diff --git a/pkg/pool-hooks/contracts/test/LPOracleBaseMock.sol b/pkg/pool-hooks/contracts/test/LPOracleBaseMock.sol new file mode 100644 index 00000000..7777c2b7 --- /dev/null +++ b/pkg/pool-hooks/contracts/test/LPOracleBaseMock.sol @@ -0,0 +1,145 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +pragma solidity ^0.8.24; + +import { AggregatorV3Interface } from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol"; +import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol"; + +import { IWeightedLPOracle } from "@balancer-labs/v3-interfaces/contracts/standalone-utils/IWeightedLPOracle.sol"; +import { ILPOracleBase } from "@balancer-labs/v3-interfaces/contracts/standalone-utils/ILPOracleBase.sol"; +import { IWeightedPool } from "@balancer-labs/v3-interfaces/contracts/pool-weighted/IWeightedPool.sol"; +import { Rounding } from "@balancer-labs/v3-interfaces/contracts/vault/VaultTypes.sol"; +import { IBasePool } from "@balancer-labs/v3-interfaces/contracts/vault/IBasePool.sol"; +import { IVault } from "@balancer-labs/v3-interfaces/contracts/vault/IVault.sol"; + +import { FixedPoint } from "@balancer-labs/v3-solidity-utils/contracts/math/FixedPoint.sol"; + +import { LPOracleBase } from "@balancer-labs/v3-standalone-utils/contracts/LPOracleBase.sol"; + +contract MockLPOracle is IWeightedLPOracle, LPOracleBase { + using FixedPoint for uint256; + using SafeCast for *; + + uint256 internal immutable _weight0; + uint256 internal immutable _weight1; + uint256 internal immutable _weight2; + uint256 internal immutable _weight3; + uint256 internal immutable _weight4; + uint256 internal immutable _weight5; + uint256 internal immutable _weight6; + uint256 internal immutable _weight7; + + constructor( + IVault vault_, + IWeightedPool pool_, + AggregatorV3Interface[] memory feeds, + uint256 version_ + ) LPOracleBase(vault_, IBasePool(address(pool_)), feeds, version_) { + uint256[] memory weights = pool_.getNormalizedWeights(); + + // prettier-ignore + { + _weight0 = weights[0]; + + _weight1 = weights[1]; + + if (_totalTokens > 2) { + _weight2 = weights[2]; + } + if (_totalTokens > 3) { + _weight3 = weights[3]; + } + if (_totalTokens > 4) { + _weight4 = weights[4]; + } + if (_totalTokens > 5) { + _weight5 = weights[5]; + } + if (_totalTokens > 6) { + _weight6 = weights[6]; + } + if (_totalTokens > 7) { + _weight7 = weights[7]; + } + } + } + + /// @inheritdoc ILPOracleBase + function calculateTVL(int256[] memory prices) public view override returns (uint256 tvl) { + uint256[] memory weights = _getWeights(); + uint256[] memory lastBalancesLiveScaled18 = _vault.getCurrentLiveBalances(address(pool)); + + /********************************************************************************************** + // We know that the normalized value of each token in the pool is equal: + // C = (P1 * B1 / W1) = (P2 * B2 / W2) = ... = (Pn * Bn / Wn) + // + // Where: + // n = number of tokens + // Pi = market price of token i + // Bi = balance of token i + // Wi = normalized weight of token i (sum of all Wi == 1) + // C = common normalized value across tokens + // + // From this, we can express the balance of token i: + // Bi = (C * Wi) / Pi + // + // The total value locked (TVL) is the sum of all token values: + // TVL = Σ (Bi * Pi) + // Substituting Bi: + // TVL = Σ ((C * Wi / Pi) * Pi) = C * Σ(Wi) = C + // C = TVL + // + // So: + // Bi = (TVL * Wi) / Pi + // + // The invariant of the WeightedPool pool is defined as: + // k = Π (Bi^Wi) + // + // Substituting Bi and using the fact that Σ(Wi) = 1: + // k = Π ((TVL * Wi / Pi)^Wi) + // = TVL^Σ(Wi) * Π((Wi / Pi)^Wi) + // = TVL * Π((Wi / Pi)^Wi) + // + // Solving for TVL: + // TVL = k * Π((Pi / Wi)^Wi) + **********************************************************************************************/ + + /********************************************************************************************** + // invariant _____ // + // wi = weight index i | | wi // + // pi = price index i k * | | (pi/wi) ^ = tvl // + // k = invariant // + **********************************************************************************************/ + + uint256 k = pool.computeInvariant(lastBalancesLiveScaled18, Rounding.ROUND_UP); + + tvl = FixedPoint.ONE; + for (uint256 i = 0; i < _totalTokens; i++) { + tvl = tvl.mulDown(prices[i].toUint256().divDown(weights[i]).powDown(weights[i])); + } + + tvl = tvl.mulDown(k); + } + + function getWeights() external view returns (uint256[] memory) { + return _getWeights(); + } + + function _getWeights() internal view returns (uint256[] memory) { + uint256[] memory weights = new uint256[](_totalTokens); + + // prettier-ignore + { + weights[0] = _weight0; + weights[1] = _weight1; + if (_totalTokens > 2) { weights[2] = _weight2; } else { return weights; } + if (_totalTokens > 3) { weights[3] = _weight3; } else { return weights; } + if (_totalTokens > 4) { weights[4] = _weight4; } else { return weights; } + if (_totalTokens > 5) { weights[5] = _weight5; } else { return weights; } + if (_totalTokens > 6) { weights[6] = _weight6; } else { return weights; } + if (_totalTokens > 7) { weights[7] = _weight7; } + } + + return weights; + } +} diff --git a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol index 65a18c3a..52459e46 100644 --- a/pkg/pool-hooks/test/foundry/UpliftExample.t.sol +++ b/pkg/pool-hooks/test/foundry/UpliftExample.t.sol @@ -43,6 +43,7 @@ import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; import { UpliftOnlyExample } from "../../contracts/hooks-quantamm/UpliftOnlyExample.sol"; import { LPNFT } from "../../contracts/hooks-quantamm/LPNFT.sol"; +import { WeightedLPOracleMock } from "@balancer-labs/v3-standalone-utils/contracts/test/WeightedLPOracleMock.sol"; contract UpliftOnlyExampleTest is BaseVaultTest { using CastingHelpers for address[]; @@ -70,6 +71,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { UpliftOnlyExample internal upliftOnlyRouter; + WeightedLPOracleMock internal lpOracle; + function setUp() public virtual override { BaseTest.setUp(); (address ownerLocal, address addr1Local, address addr2Local) = (vm.addr(1), vm.addr(2), vm.addr(3)); @@ -101,6 +104,11 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); + + // 1) Deploy the LP oracle mock the same way as in WeightedLPOracle.t.sol + lpOracle = new WeightedLPOracleMock(); + + vm.startPrank(owner); upliftOnlyRouter = new UpliftOnlyExample( IVault(address(vault)), @@ -111,7 +119,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { address(updateWeightRunner), "Uplift LiquidityPosition v1", "Uplift LiquidityPosition v1", - "Uplift LiquidityPosition v1" + "Uplift LiquidityPosition v1", + lpOracle ); vm.stopPrank(); vm.label(address(upliftOnlyRouter), "upliftOnlyRouter"); @@ -172,11 +181,8 @@ contract UpliftOnlyExampleTest is BaseVaultTest { newPool = address(deployPoolMock(IVault(address(vault)), name, symbol)); vm.label(newPool, label); - int256[] memory prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 1e18; - } - updateWeightRunner.setMockPrices(address(newPool), prices); + + lpOracle.setPrice(int256(1e18)); PoolRoleAccounts memory roleAccounts; roleAccounts.poolCreator = lp; @@ -489,11 +495,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // 2) Push prices DOWN so there is a negative uplift. // With negative uplift, the contract applies minimum withdrawal fee (minWithdrawalFeeBps). - v.prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - v.prices[i] = (int256(i) * 1e18) / 2; // halve prices - } - updateWeightRunner.setMockPrices(pool, v.prices); + lpOracle.setPrice(int256(0.5e18)); v.nftTokenId = 0; v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); @@ -638,11 +640,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); // Push prices up so there is positive uplift (value doubles from 0.5 -> 1.0). - v.prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - v.prices[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, v.prices); + lpOracle.setPrice(int256(2e18)); v.nftTokenId = 0; v.minAmountsOut = [uint256(0), uint256(0)].toMemoryArray(); @@ -1015,13 +1013,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "fee"); // Make prices go down (negative change) - v.prices = new int256[](tokens.length); - - for (uint256 i = 0; i < tokens.length; ++i) { - v.prices[i] = (int256(i) * 1e18) / 2; - } - - updateWeightRunner.setMockPrices(pool, v.prices); + lpOracle.setPrice(int256(0.5e18)); // Snapshot BEFORE removal v.adminDaiBefore = dai.balanceOf(address(vaultAdmin)); @@ -1182,11 +1174,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { assertEq(upliftOnlyRouter.getUserPoolFeeData(pool, bob)[0].upliftFeeBps, 200e14, "upliftFeeBps mismatch"); // double prices (uplift 100%) - v.prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - v.prices[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, v.prices); + lpOracle.setPrice(int256(2e18)); // balances before v.admin = updateWeightRunner.getQuantAMMAdmin(); @@ -1287,11 +1275,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { vm.stopPrank(); // double prices (uplift 100%) - v.prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - v.prices[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, v.prices); + lpOracle.setPrice(int256(2e18)); // balances before v.admin = updateWeightRunner.getQuantAMMAdmin(); @@ -1392,11 +1376,7 @@ contract UpliftOnlyExampleTest is BaseVaultTest { // ------------------------------------------------------ // Using the same price-setting pattern as other tests: // prices[i] = int256(i) * 2e18 (for two tokens: [0, 2e18]) - int256[] memory prices = new int256[](tokens.length); - for (uint256 i = 0; i < tokens.length; ++i) { - prices[i] = int256(i) * 2e18; - } - updateWeightRunner.setMockPrices(pool, prices); + lpOracle.setPrice(int256(2e18)); // -------------------------------------------- // 3) Bob removes liquidity — this should mint